2016-08-26 2 views
0

어떻게 내 저장소에 그것을 설정하는 내 gridview 열의 형식 시간을 어떻게해야합니까? 데이터베이스 날짜 8/1/2016 12:00:00 AM 의 출력을 리턴 date time를 사용 있었는데이 방법과 함께 gridcolumn 설정필터 열을 다른 형식으로 가져 오는 방법은 무엇입니까?

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; 
    } 

날짜의 gridcolumn의 디스플레이가

enter image description here

문제 필터 행에 저장소 항목을 사용하면 데이터베이스에서 날짜 형식이 여전히 8/1/2016 12:00:00 AM이됩니다.

  1. 어떻게 난 정말 변환하기 : 이미지는이

    enter image description here

    같은 방법 해결하려면이이 저장소 콤보 상자에 항목을 추가하는 코드였다

    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; 
    
          } 
        } 
    

    스피 생각했다 표시 텍스트가 아닌 날짜 열 날짜 :

  2. 날짜 열 작성하기
  3. ,451,515,
  4. 내가 열 날짜에했던 방법과 동일한 표시 텍스트를 변경 itembox 원래의 형식을 사용하여 저장소 itemcombobox
  5. 포맷하기 만 저장소에
  6. 귀하의 제안

주의 : 스피 사용 DevExpress의

답변

0

내가 최근 샘플에 DropBox를 통해 샘플을 공유합니다. 확인해보십시오. 여기 내 코드.

private void Form1_Load(object sender, EventArgs e) 
    { 
     DataTable dt = new DataTable(); 
     dt.Columns.Add("Date",typeof(DateTime)); 

     List<DateTime> str = new List<DateTime>(); 

     for (int i = 1; i <= 30; i++) 
     { 
      DataRow row = dt.NewRow(); 
      if (i < 20) 
       dt.Rows.Add(DateTime.Now.Date.ToShortDateString()); 
      else 
       dt.Rows.Add(DateTime.Now.Date.AddDays(1).ToShortDateString()); 
     } 

     gcDate.DisplayFormat.FormatString = "dd/MM/yyyy"; 
     gcDate.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime; 

     repositoryItemComboBox1.DisplayFormat.FormatString = "dd/MM/yyyy"; 
     repositoryItemComboBox1.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime; 

     repositoryItemComboBox1.EditFormat.FormatString = "dd/MM/yyyy"; 
     repositoryItemComboBox1.EditFormat.FormatType = DevExpress.Utils.FormatType.DateTime; 

     gridControl1.DataSource = dt; 

     foreach (DataRow item in dt.Rows) 
     { 
      repositoryItemComboBox1.Items.Add(Convert.ToDateTime(item["Date"]).ToShortDateString()); 
     } 
    } 

private void gridView1_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e) 
    { 
     GridView view = sender as GridView; 

     if (e.Column.FieldName == "Date" && view.IsFilterRow(e.RowHandle)) 
     { 
      e.RepositoryItem = repositoryItemComboBox1; 
     } 
    } 

enter image description hereenter image description here

+0

어떻게 설정할 수'dt.Rows.Add (DateTime.Now.Date.ToShortDateString());' 스피 쿼리를 사용하고 계십니까? 내 코드는 http://pastebin.com/UCFC8k4J였습니다. –

관련 문제