如何在gridview列中获取格式时间以在我的存储库中设置它?
数据库中的日期使用date time
,返回8/1/2016 12:00:00 AM
的输出
我用这种方法设置了一个网格列
private void arrange()
{
gridView1.Columns["date"].VisibleIndex = 1;
gridView1.Columns["date"].DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
gridView1.Columns["date"].DisplayFormat.FormatString = "dd MMM yyyy";
gridView1.Columns["date"].format.FormatString = "dd MMM yyyy";
gridView1.Columns["date"].Width = 150;
}
日期网格列上的显示为
问题是当我在过滤器行上使用存储库项时,它仍然从数据库8/1/2016 12:00:00 AM
获取日期格式。图像是这样的
将项目添加到存储库组合框中的代码是
RepositoryItemComboBox repositoryItemComboBox2 = new RepositoryItemComboBox();
private void gridView1_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e)
{
GridView view = sender as GridView;
for (int i = 0; i < gridView1.RowCount; i++)
{
if (gridView1.GetDataRow(i) == null)
{
break;
}
string txt = gridView1.GetDataRow(i)["date"].ToString();
if (!repositoryItemComboBox2.Items.Contains(txt))
{
repositoryItemComboBox2.Items.Add(txt);
}
}
if (e.Column.FieldName == "date" && view.IsFilterRow(e.RowHandle))
{ e.RepositoryItem = repositoryItemComboBox2;
repositoryItemComboBox2.Sorted = true;
}
}
我想,如何解决这个问题是:
n.b:iam使用devexpress
答案 0 :(得分:0)
更改repositoryItem的显示格式和编辑格式
repositoryItemComboBox1.DisplayFormat.FormatString = "dd MMM yyyy";
repositoryItemComboBox1.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
repositoryItemComboBox1.EditFormat.FormatString = "dd MM yyyy";
repositoryItemComboBox1.EditFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
答案 1 :(得分:0)
更改
string txt = gridView1.GetDataRow(i)["date"].ToString();
要
string txt = Convert.ToDateTime(gridView1.GetDataRow(i)["date"].ToString()).Date.ToString("dd MMM yyyy");
我测试的代码......
List<String> str = new List<String>();
str.Add("2016-08-01 12:00:00 AM");
str.Add("2016-08-02 12:00:00 AM");
str.Add("2016-08-03 12:00:00 AM");
str.Add("2016-08-04 12:00:00 AM");
str.Add("2016-08-05 12:00:00 AM");
str.Add("2016-08-06 12:00:00 AM");
str.Add("2016-08-07 12:00:00 AM");
str.Add("2016-08-08 12:00:00 AM");
str.Add("2016-08-09 12:00:00 AM");
foreach (var item in str)
{
repositoryItemComboBox1.Items.Add(Convert.ToDateTime(item).Date.ToString("dd MMM yyyy"));
}