- - PR -
DATAGRIDの書式設定
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-02-19 16:28
初めて投稿させていただきます。.NETを修行中のものです。
下記のようなASP.NETのプログラムを作っています。 (略) oleDbCommand.commandText="select date,kingaku from nyukin"; (略) oleDbDataAdapter.fill(dataSet,"nyukin"); (略) dataGrid.dataSource=dataSet.tables["nyukin"]; dataGrid.dataBind(); この時、DATAGRIDの金額の列の書式設定で数字を金額表示、日付をyyyy/MM/dd形式でしたいのですが、 プロパティビルダの列の書式設定でyyyy/MM/ddやCを指定しても、うまくいかないようです。 ご存知の方がいらっしゃいましたらご教授お願いいたします。 |
|
投稿日時: 2003-02-19 18:50
せんべいです
私も修行者です。 私は、フォーマットビルダを使わずに手で書く派です。 さて、私は日付の書式を指定するときはContainer.DataItem(<<データフィールド>>)を つかわずに、DataBinder.Eval(Container.DataItem,<<データフィールド>>)を 使っています。 <%# DataBinder.Eval(Container.DataItem, <<データフィールド>>, "{0:d}") %> のようにすればいいのではないでしょうか。金額も、第三引数を変えればよいのでは ないでしょうか。 又は、コードビハインドに関数を作って、そこで書式を指定したStringを戻してやれば 良いのではないでしょうか。たとえば、DateFormat()っていう関数を作って <%# DateFormat(Container.DataItem(<<データフィールド>>)) %> や <%# DateFormat(DataBinder.Eval(Container.DataItem, <<データフィールド>>)) %> で良いのでは? Public Function DateFormat(ByVal obj As DateTime) As String Return obj.ToString("yyyy/MM/dd") End Function かな? [ メッセージ編集済み 編集者: せんべい 編集日時 2003-02-19 18:55 ] |
|
投稿日時: 2003-02-20 09:34
プロパティビルダの列データフォーマット式に
.NET Framework の書式指定式{0:yyyy/MM/dd}等を指定してあげれば、大丈夫ですよ。 _________________ |
|
投稿日時: 2003-02-20 17:39
ご返答ありがとうございました。
金額のほうは{0:c}でうまくいきました。 日付のほうはなぜか{0:####/##/##}でうまくいきました。 元データがintだったためでしょうか。 ちなみに元データをstring型にして{0:yyyy/MM/dd}でやってもうまくいきませんでした。 |
|
投稿日時: 2003-02-22 06:59
>ちなみに元データをstring型にして{0:yyyy/MM/dd}でやっても
>うまくいきませんでした。 元データが文字列の場合は書式は無視されるようです。 ちゃんと元データが日付型であれば問題なく表示されるはずです。 SQLServerを使ったDataGridでは上記書式で問題なく表示できて います。 |
1