如何设置repositoryitem组合框的格式化日期时间? [英] how to set formatting date time on repositoryitem combobox?
问题描述
如何在我的gridview列中获取格式化时间以将其设置在我的存储库中?
数据库中的日期使用日期时间
,它返回 8/1/2016 12:00:00 AM
,我用这个方法设置在一个网格列中
pre $ private $ private void()
{
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)
{
打破;
}
string txt = gridView1.GetDataRow(i)[date]。ToString();
if(!repositoryItemComboBox2.Items.Contains(txt))
{
repositoryItemComboBox2.Items.Add(txt); (e.Column.FieldName ==date&& view.IsFilterRow(e.RowHandle))
{e。
}
}
if RepositoryItem = repositoryItemComboBox2;
repositoryItemComboBox2.Sorted = true;
$ b $ / code $ / pre
iam想法,如何解决这个问题是:
- 如何真正转换日期列,而不是显示文本 日期列
- 使用原始格式格式化存储库itemcombobox
- ,但在存储库上,itembox将显示文本更改为与我在列日期
- 您的建议
nb:iam使用devexpress
解决方案
更改
string txt = gridView1.GetDataRow(i )[ 日期]的ToString();
至
string txt = Convert.ToDateTime(gridView1.GetDataRow(i)[date]。ToString())。Date.ToString(dd MMM yyyy);
我测试过的代码...
列表与LT;字符串> 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(str中的var项)
{
repositoryItemComboBox1.Items.Add(Convert.ToDateTime(item).Date.ToString(dd MMM yyyy ));
}
how do i get the format time in my gridview column to set it on my repository ?
the date in database was using date time
which return an output of 8/1/2016 12:00:00 AM
and i set in a gridcolumn with this method
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;
}
the display on the gridcolumn of date is
the problem is when i using repository item on filter row it still getting the date format from database which is 8/1/2016 12:00:00 AM
. the image was like this
the code to add item into repository combobox was
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;
}
}
iam thinking , how to resolve this is:
- how to i really converting the column of date, not by display text
- formating the column of date
- formating the repository itemcombobox
- using the original format, but on repository itembox change the display text same as how i did on column date
- your suggestion
n.b: iam using devexpress
解决方案 Change
string txt = gridView1.GetDataRow(i)["date"].ToString();
To
string txt = Convert.ToDateTime(gridView1.GetDataRow(i)["date"].ToString()).Date.ToString("dd MMM yyyy");
My tested code...
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"));
}
这篇关于如何设置repositoryitem组合框的格式化日期时间?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!