私はGridViewを持っています。ここでは列は動的です。 GridViewはDataTableにバインドされています。動的なGridViewの書式設定
カラムの1つがDateTimeカラムです。私は "01/01/2010 12:00:00 AM"の代わりに "01/01/2010"を表示するようにその列をフォーマットする必要があります。
DateTimeの代わりに文字列を格納するように列を変更することはできません。
これを行うにはどうすればよいですか?
私はGridViewを持っています。ここでは列は動的です。 GridViewはDataTableにバインドされています。動的なGridViewの書式設定
カラムの1つがDateTimeカラムです。私は "01/01/2010 12:00:00 AM"の代わりに "01/01/2010"を表示するようにその列をフォーマットする必要があります。
DateTimeの代わりに文字列を格納するように列を変更することはできません。
これを行うにはどうすればよいですか?
この場合、AutoGenerateColumnsでグリッドを使用していると仮定しますが、正しい方法であればそれを行う方法がわかりませんが、ここではテキストを変更するためにすばやく汚い方法です出力。
このコードでは、行データにバインドされたイベントを作成し、テキストを解析し、必要な方法でフォーマットします。これは、日付が常に特定の列にあることがわかっている場合にのみ機能します。
動的列を必要とする場合は、AutoGenerateColumnsをfalseに設定し、グリッドビューの列をバインドする前に動的にデータ型文字列を使用するように設定することもできます。これは少しより多くの仕事ですが、あなたはまだ、列を制御することができます:ここでは
BoundField Col1 = new BoundField();
Col1.DataField = "StringFieldName";
BoundField Col2 = new BoundField();
Col2.DataField = "DateFieldName";
Col2.DataFormatString = "{0:d}";
grdTest.Columns.Add(Col1);
grdTest.Columns.Add(Col2);
グリッドビューに列を追加すると、通貨を表示するための "DisplayFormat"を設定できます。
は一例です:
<asp:BoundField DataField="DataFieldName" DataFormatString="{0:d}"></asp:BoundField>
そして、ここでは参照のためのリンクです:
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.boundfield.dataformatstring.aspx
Cool。動的に変更する前に、列のデフォルトを設定したい場合は、これが簡単です。 –
これを行う方法の例がありますか? – Steven