将时间值绑定到asp.net GridView

时间:2013-04-15 08:07:48

标签: asp.net gridview

我需要将时间值绑定到gridview。例如,如果时间是13:00,我需要在网格中将其显示为13-00。但它显示为01-00。我该如何解决这个问题?

3 个答案:

答案 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