如何设置repositoryitem组合框的格式化日期时间? [英] how to set formatting date time on repositoryitem combobox?

查看:289
本文介绍了如何设置repositoryitem组合框的格式化日期时间?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在我的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想法,如何解决这个问题是:


  1. 如何真正转换日期列,而不是显示文本 日期列

  2. 使用原始格式格式化存储库itemcombobox

  3. ,但在存储库上,itembox将显示文本更改为与我在列日期

  4. 您的建议

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:

  1. how to i really converting the column of date, not by display text
  2. formating the column of date
  3. formating the repository itemcombobox
  4. using the original format, but on repository itembox change the display text same as how i did on column date
  5. 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆