1

GridView があり、それを Word にエクスポートしたいと考えています。1 つの列の形式を日時形式 ("dd.MM.yyyy") に変更したい

var grid = new GridView { DataSource = dt};
grid.DataBind();

*.aspx ページでは、これは非常に簡単です。以下の例のようになります。

<asp:boundfield datafield="My_Date_Column"
                dataformatstring="{0:dd.MM.yyyy}"
                htmlencode="false" />

C# からフォーマットを変更したいのですが、どうすればよいですか?

4

6 に答える 6

3

CodeBehind から GridView の列の形式を変更する場合はRowDataBound、グリッド ビューに を追加します。

次に、GridView_RowDataBound(object sender, GridViewRowEventArgs e)メソッドでe、フォーマッタを指定できるその行の個々のセルへのアクセスを提供するアクセスが可能になります。

RowDataBoundイベント http://forums.asp.net/p/1589807/4025153.aspxの使用例を次に示します。

于 2012-05-21T08:01:59.163 に答える
1
String.Format("{0:dd.MM.yyyy}", myDateTimeInstance);
于 2012-05-21T07:57:02.207 に答える
0

列の形式は、システムの現在の日時形式に基づいていると思います。

しかし、文字列に変換するときはそうすることができます

String str = dt[RowNumber][ColumnName].ToString("dd.MM.yyyy");
于 2012-05-21T07:57:11.797 に答える
0
DateTime dt = DateTime.Now;
String formated = dt.ToString("dd.MM.yyyy");

また

String formated = String.Format("{0:dd.MM.yyyy}", dt );
于 2012-05-21T07:57:33.370 に答える
0

列全体をフォーマットしたい場合は、関係する列のプロパティを設定できるとよいでしょう

gridview1.Columns[columnIndex].DataFormatString ="{0:dd.MM.yyyy}";

BoundFieldプロパティにアクセスするには、列をキャストする必要があると思います。

于 2012-05-21T08:34:47.463 に答える
0
DateTime dt = DateTime.Now;
string formated = dt.ToString("dd.MM.yyyy");

可能な形式は、この MSDN 記事に示されています。

于 2012-05-21T07:58:52.900 に答える