2014-02-14 6 views
1

В моем datagrid у меня есть поле DateTime, которое не показывает часы и минуты. Ну, по крайней мере, это показывает 00:00, но мое значение DateTime не может быть 00:00. Я использую эту строку формата времени «dd-MM-yyyy HH: mm».DevExpress xtragrid datetime не показывает часы и минуты

enter image description here

Когда я показываю значение DateTime внутри всплывающего окна он показывает часы и минуты (и секунды), поэтому он не может быть 00:00:

enter image description here

Как я могу заставить datagrid показывать часы и минуты?

Это мой код:

namespace DXWindowsApplication1 
{ 
    public partial class Form1 : XtraForm 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
      InitGrid(); 

     } 
     BindingList<Message> gridDataList = new BindingList<Message>(); 
     void InitGrid() 
     { 
      /*gridDataList.Add(new Message("joepie de poepie test \n joep meloen hallo \n mhooooo", "username", new DateTime(2008))); 
      gridDataList.Add(new Message("test message 2 \n kitkat android \n toktoktoktotktotktokt", "Pipo", new DateTime(2005))); 
      gridDataList.Add(new Message("test message 2 \n kitkat android \n toktoktoktotktotktokt", "Pipo", new DateTime(2006))); 
      gridDataList.Add(new Message("test message 2 \n kitkat android \n toktoktoktotktotktokt", "Pipo", new DateTime(2007)));*/ 
      gridControl1.DataSource = gridDataList; 
      gridView1.ExpandAllGroups(); 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 

     } 

     private void simpleButton1_Click(object sender, EventArgs e) 
     { 
      gridDataList.Add(new Message(memoEdit1.Text, "username", DateTime.Now)); 
      gridView1.ExpandAllGroups(); 
      memoEdit1.Text = ""; 
     } 

    } 
} 

Это автоматически генерируемый код:

  // colsendTime 
      // 
      this.colsendTime.AppearanceCell.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128))))); 
      this.colsendTime.AppearanceCell.Options.UseBackColor = true; 
      this.colsendTime.Caption = "Verzonden op"; 
      this.colsendTime.DisplayFormat.FormatString = "dd-MM-yyyy HH:mm"; 
      this.colsendTime.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime; 
      this.colsendTime.FieldName = "sendTime"; 
      this.colsendTime.GroupFormat.FormatString = "dd-MM-yyyy HH:mm"; 
      this.colsendTime.GroupFormat.FormatType = DevExpress.Utils.FormatType.DateTime; 
      this.colsendTime.Name = "colsendTime"; 
      this.colsendTime.OptionsColumn.ReadOnly = true; 
      this.colsendTime.UnboundType = DevExpress.Data.UnboundColumnType.DateTime; 
      this.colsendTime.Visible = true; 
      this.colsendTime.VisibleIndex = 2; 
+1

отправьте свой код. –

+0

То, что вы показываете, представляет собой групповую строку. Как он появляется в ячейке? Также вы установили формат в DateEditRepositoryItem или в самом столбце? – Crono

+0

Я установил свойство GroupFormat в 'DateTime 'dd-MM-yyyy HH: mm" ', и значение исходит от объекта, привязанного к datagrid. Я сгруппировал столбец. – botenvouwer

ответ

3

DateTime значения автоматически группируются даты в XtraGrid, если GroupInterval свойство столбца не явно установлен в Value.

Это поведение описано в документации DevExpress на ColumnGroupInterval enumeration.

Side Примечание: не установлен UnboundType свойство, если вы не делаете каких-либо обработки CustomUnboundColumnData.

0

Вы можете добиться отображения времени в сетке с помощью RepositoryItemDateEdit и назначить VistaEditTime = DevExpress.Utils.DefaultBoolean.True

Э.Г.

DevExpress.XtraEditors.Repository.RepositoryItemDateEdit oItem = New DevExpress.XtraEditors.Repository.RepositoryItemDateEdit(); 

oItem.DisplayFormat.FormatString = "dd-MM-yyyy HH:mm" 
oItem.EditFormat.FormatString = "dd-MM-yyyy HH:mm" 
oItem.VistaEditTime = DevExpress.Utils.DefaultBoolean.True 
this.colsendTime.ColumnEdit = oItem 
this.colsendTime.AppearanceCell.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128))))); 
this.colsendTime.AppearanceCell.Options.UseBackColor = true; 
this.colsendTime.Caption = "Verzonden op"; 
this.colsendTime.Name = "colsendTime"; 
this.colsendTime.OptionsColumn.ReadOnly = true; 
this.colsendTime.UnboundType = DevExpress.Data.UnboundColumnType.DateTime; 
this.colsendTime.Visible = true; 
this.colsendTime.VisibleIndex = 2; 

 Смежные вопросы

  • Нет связанных вопросов^_^