Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将时间值绑定到asp.net GridView_Asp.net_Gridview - Fatal编程技术网

将时间值绑定到asp.net GridView

将时间值绑定到asp.net GridView,asp.net,gridview,Asp.net,Gridview,我需要将时间值绑定到gridview。例如,如果时间是13:00,我需要在网格中将其显示为13-00。但它显示为01-00。如何解决此问题?您需要将值转换为24小时格式(例如,通过为应用程序选择不同的区域性),或者只需创建一些转换器类来为您转换此值。有多种资源可供学习 像这样的方法应该会奏效: DateTime localTime = DateTime.Now; // 24 hour format -- use 'H' or 'HH' string timeString24Hour = loca

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

您需要将值转换为24小时格式(例如,通过为应用程序选择不同的区域性),或者只需创建一些转换器类来为您转换此值。有多种资源可供学习

像这样的方法应该会奏效:

DateTime localTime = DateTime.Now;
// 24 hour format -- use 'H' or 'HH'
string timeString24Hour = localTime.ToString("HH:mm", CultureInfo.CurrentCulture);
摘自另一个答案在这里的SO

如果区域性使用12小时格式,请为支持24小时格式的解析使用其他区域性信息

当然,您可能希望将其包装在getter属性中,以便它可用于绑定

public string DateIn24HourFormat
{
    get
    {
        return MyConvertFunction(this.Time);
    }
}
你明白了。你可以用事件来实现它。根据需要格式化时间字符串,并将其指定给栅格视图单元格

您可以使用日期格式将datetime转换为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");
    }
  }

BoundColumn
中的
DataFormatString
属性中指定时间格式。 应用格式为

{0:HH-mm}

你能给我举个例子吗?比如,我从弹出窗口中的下拉列表中选择一个值。单击“添加”按钮时,需要将该值填充到网格的行中。我该怎么做?@Aishvarya,这是一个完全不同的问题!:)您需要为click事件创建一个事件处理程序,在此过程中,您必须设置GridView的
数据源
,并在其上调用方法
.DataBind()
。DataSource应该从某个外部方法获取数据,该方法返回一个从IEnumerable继承的集合,该集合包含具有我向您展示的getter属性的项。在GridView中,只需引用
DateIn24HourFormat
属性,它就会为您提供正确的输出。如果您想继续关于数据绑定的辩论,请创建一个单独的问题。我的问题是如何按照我的要求设置显示时间的格式。这就是我在
Row\u DataBound
事件中所做的。您可以使用datetime格式格式化时间字符串,正如我在示例中所写的。例如,我从弹出窗口中的下拉列表中选择一个值。单击“添加”按钮时,需要将该值填充到网格的行中。我该怎么做呢?在GridView数据源中添加该值,然后重新绑定GridView。比如,我从弹出窗口中的下拉列表中选择一个值。单击“添加”按钮时,需要将该值填充到网格的行中。我该怎么做?