我需要将时间值绑定到gridview。例如,如果时间是13:00,我需要在网格中将其显示为13-00。但它显示为01-00。我该如何解决这个问题?
答案 0 :(得分:0)
您需要将值转换为24小时格式(例如,为您的应用程序选择不同的文化),或者只需创建一些转换器类,它将为您转换。有许多资源需要学习。
这样的事情应该有效:
DateTime localTime = DateTime.Now;
// 24 hour format -- use 'H' or 'HH'
string timeString24Hour = localTime.ToString("HH:mm", CultureInfo.CurrentCulture);
取自SO Convert AM/PM time to 24 hours format?
中的另一个答案如果您的文化使用12小时格式,请使用不同的区域性信息进行支持24小时格式的解析。
当然你可能想把它包装在一个getter属性中,以便它可用于绑定
public string DateIn24HourFormat
{
get
{
return MyConvertFunction(this.Time);
}
}
你明白了。
答案 1 :(得分:0)
您可以使用GridView.RowDataBound事件来实现它。根据需要格式化时间字符串并分配给网格视图单元格。
您可以使用日期格式将日期时间转换为24小时格式。
void CustomersGridView_RowDataBound(Object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[1].Text = DateTime.Now.ToString("MM/dd/yyyy HH:mm");
}
}
答案 2 :(得分:0)
在DataFormatString
的{{1}}属性中提供您的时间格式。
将格式应用为
BoundColumn
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.boundfield.dataformatstring.aspx