1

LINQ to format date で問題が発生しました。ここにコードがあります

 var resultCustomer = from row in formDg.dtCustomer.AsEnumerable()
                          where row.Field<int>("customerID") == customerID2
                          select new
                          {
                              name = row["customerName"].ToString(),
                              ic = row["customerIC"].ToString(),
                              add1 = row["customerAdd1"].ToString(),
                              add2 = row["customerAdd2"].ToString(),
                              tel = row["customerTel"].ToString(),
                              tel2 = row["customerTel2"].ToString(),
                              tel3 = row["customerTel3"].ToString(),
                              email = row["customerEmail"].ToString(),
                              dateRegister = row["customerDateRegister"].ToString(),
                              customerRef = row["customerRef"].ToString(),
                              customerGroup = row["groupCustName"].ToString(),
                              panelName = row["panelName"].ToString(),
                              };

var firstRecord = resultCustomer.First();// My record return single row only

私の質問は、customerDateRegister で「dd/MM/yyyy」のようなカスタム日付をフォーマットする方法です。、テキストボックスに16-Nov-12 12:00:00 AM と表示されたときに問題が発生したためです。時間を表示したくありませんが、日付のみを表示します。

私はこのように試してみましたtbDateRegOv.Text = firstRecord.dateRegister.ToString("dd/MM/yyyy"); . うまくいかない。次に、LINQ でdateRegister = row["customerDateRegister"].ToString("dd/MM/yyyy") を試します。同じ問題。

では、どうすればこの問題を解決できますか? 手伝ってくれてありがとう。:)

4

4 に答える 4

3

最初に行をキャストする必要がありますDateTime。これにより、日付にカスタム形式の文字列を使用できるようになります。

dateRegister = ((DateTime)row["customerDateRegister"]).ToString("dd/MM/yyyy")
于 2012-11-16T16:12:02.530 に答える
2

customerDateRegisterタイプの場合は、最初にDateTimeそれを作成する必要があります。DateTimeしたがって、DataRow拡張メソッドを使用しField<T>ます。

dateRegister = row.Field<DateTime>("customerDateRegister")
于 2012-11-16T16:13:56.837 に答える
1

これを試すことができます。dateRegister 行をこれに置き換えます。

dateRegister = ((DateTime)row["customerDateRegister"]).ToString("dd/MM/yyyy"),
于 2012-11-16T16:14:36.037 に答える
0

または、目的の日時マスクで MaskedEditBox を使用できます

于 2012-11-19T11:50:22.587 に答える