将时间值绑定到asp.net GridView
我需要将时间值绑定到gridview。例如,如果时间是13:00,我需要在网格中将其显示为13-00。但它显示为01-00。如何解决此问题?您需要将值转换为24小时格式(例如,通过为应用程序选择不同的区域性),或者只需创建一些转换器类来为您转换此值。有多种资源可供学习 像这样的方法应该会奏效:将时间值绑定到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
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。比如,我从弹出窗口中的下拉列表中选择一个值。单击“添加”按钮时,需要将该值填充到网格的行中。我该怎么做?