自定义格式整数作为 DataGrid 中的日期
我的数据库中有一个整数字段,其中包含 yyyyMMdd
形式的日期值。是否可以将其解析为绑定到数据网格的 dd/MM/yyyy
形式的日期?
目前该字段的绑定方式如下:
<asp:boundcolumn datafield="access_date" headertext="Last logged on"></asp:boundcolumn>
I have an integer field in my database that contains a date value in the form yyyyMMdd
. Is it possible to parse this as a date in the form dd/MM/yyyy
as bound to a datagrid?
Currently the field is bound like this:
<asp:boundcolumn datafield="access_date" headertext="Last logged on"></asp:boundcolumn>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(2)
念三年u2024-10-22 09:26:27
感谢 gor 指导我完成这一切。
他的回答本身并不是完整的解决方案,但经过一些来回评论后,我最终得到了一个很好的解决方案。
我必须使用 asp:templatecolumn
并通过绑定表达式显示它(如 gor 解释的那样),而不是在网格中使用 asp:boundcolumn
在他的评论中,尽管我认为他的答案是基于使用 asp:listview
控件,而我使用旧的 asp:datagrid
控件)。
在 asp:datagrid
控件的
集合中:
<asp:TemplateColumn headertext="Last logged on" >
<ItemTemplate><%#DateStringFromInt(Eval("access_date"))%></ItemTemplate>
</asp:TemplateColumn>
在代码隐藏中:
protected string DateStringFromInt(object value)
{
DateTime date;
if (DateTime.TryParseExact(value.ToString(), "yyyyMMdd",
CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal,
out date))
{
return date.ToString("dd/MM/yyyy");
}
return value.ToString(); //Return original if not expected format
}
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
为什么不使用 Date 作为数据库中的日期?
您可以使用以下示例代码将 int 转换为 datetime:
Why don't you use Date for dates in database ?
You can convert int to datetime using following sample code: