I have a GridView and I want to export it to Word. I want to change the format of one column to datetime format ("dd.MM.yyyy")
var grid = new GridView { DataSource = dt};
grid.DataBind();
In *.aspx page this is very easy, it looks like in the example below:
<asp:boundfield datafield="My_Date_Column"
dataformatstring="{0:dd.MM.yyyy}"
htmlencode="false" />
I want change format from c#, how to do this?
If you want to alter the format of a column of a GridView from CodeBehind Add a RowDataBound
to your grid view.
Then in the GridView_RowDataBound(object sender, GridViewRowEventArgs e)
method, you'll be able to access e
which will provide you with access to the individual cells of that row where you can specify a formatter.
Here's an example of using the RowDataBound
event http://forums.asp.net/p/1589807/4025153.aspx
String.Format("{0:dd.MM.yyyy}", myDateTimeInstance);
I think the format of column is based in system current date time format.
But when converting to string you can do so
String str = dt[RowNumber][ColumnName].ToString("dd.MM.yyyy");
DateTime dt = DateTime.Now;
String formated = dt.ToString("dd.MM.yyyy");
OR
String formated = String.Format("{0:dd.MM.yyyy}", dt );
DateTime dt = DateTime.Now;
string formated = dt.ToString("dd.MM.yyyy");
Possible formats are shown in this MSDN article .
In case you want to format the entire column then it would be better if you can set the property for your concerned column
gridview1.Columns[columnIndex].DataFormatString ="{0:dd.MM.yyyy}";
I think you will need to cast the column as BoundField
to access the property.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.