1

我有一个带有 DateTime 列的 GridView。我的日期可能没有时间部分。DataFormatString="{0:MM/dd/yyyy hh:mm tt}"当没有输入时间时,使用将写入 12:00 AM。有没有办法避免这种情况?也就是说,如果日期设置了时间,则显示它,否则只显示日期?

4

2 回答 2

1

如果没有特殊限制,则可以从服务器端将日期时间转换为字符串并返回所需的数据,在网格端只需告诉网格它是一个字符串值。

于 2012-05-18T13:17:09.577 回答
0

您不能将条件与格式字符串一起使用;您必须将事件处理程序添加到 GridView 的 ItemDataBound 事件,并自己格式化:

void Grid_ItemDataBound(object sender, GridItemEventArgs e)
{
   var date = e.Item[<index>].Text;
   if (date.EndsWith(" 12:00 AM"))
       e.Item[<index>].Text = date.Replace(" 12:00 AM", "");
}

类似的东西。

于 2012-05-18T13:30:30.857 回答