如何从表中检索日期并在gridview中显示?
我正在使用ajaxtoolkit:calenderextender,其日期格式为MM / dd / yyyy,因为我的服务器日期格式为MM / dd / yyyy。我使用此命令将日期字段插入数据库
DateTime.Parse(txtvdate.Text).ToString("yyyyMMdd")
。现在我试图在网格视图中将其显示为MM / dd / yyyy。
aspx代码:
<asp:BoundField DataField = "Vdate" HeaderText = "Tran Date" DataFormatString="{0:MM/dd/yyyy}" HtmlEncode="false" />
答案 0 :(得分:0)
我在下面提供了一个简单的示例:
如果您在数据库中将Date作为字符串,则将其强制转换为Datetime:
Let us consider two columns X and Y:
X Y
1 03/04/2014
2 05/04/2014
如果Y列是SQL数据库中的字符串数据类型:
在使用sql从表中选择时,如果数据类型为字符串,则将列y转换为Date:
在sql查询中进行转换使用如下:
CAST('your string date' as DATETIME)
有关更多详细信息,请参阅以下链接,以便在SQL中将字符串转换为Datetime:
在数据表中投射:
Datatable dt_first包含X和Y列,如上表所示。
如果Y是字符串,请执行以下操作:
DataTable dtcloned = dt_first.Clone();
dtcloned.Columns[1].DataType=typeof(DateTime); ---> converts the datatype of Y column to Datetime
foreach (DataRow row in dt_new.Rows)
{
dtcloned.ImportRow(row);
}
将克隆数据表绑定到GridView:
grid.DataSource = dtcloned;
grid.DataBind();
最后在GridView的BoundField中:
Y应为DateTime DataType。
<asp:BoundField DataField="Y" HeaderText="Date" DataFormatString="{0:dd/MM/yyyy}" />
我认为这可以解决您的问题。