2015-05-29 23 views
0

我已經可以上下移動行,但是如果上行的值與下行的值相同,並且如果所有行都是相同的值,則我需要使其向上移動&。努力嘗試和尋找很多,但沒有找到解決方案,請幫助我。上下移動行或更改行顏色,如果行單元格的值是相同的gridview devexpress winforms c#?

我用下面的代碼拉昇&下

void uphaya() 
    { 
     DevExpress.XtraGrid.Views.Grid.GridView view = GVHaya; 
     view.GridControl.Focus(); 
     int index = view.FocusedRowHandle; 
     if (index <= 0) return; 

     DataRow row1 = view.GetDataRow(index); 
     DataRow row2 = view.GetDataRow(index - 1); 
     object val1 = row1[OrderFieldName]; 
     object val2 = row2[OrderFieldName]; 
     row1[OrderFieldName] = val2; 
     row2[OrderFieldName] = val1; 

     view.FocusedRowHandle = index - 1; 
    } 

    void downhaya() 
    { 
     DevExpress.XtraGrid.Views.Grid.GridView view = GVHaya; 
     view.GridControl.Focus(); 
     int index = view.FocusedRowHandle; 
     if (index >= view.DataRowCount - 1) return; 

     DataRow row1 = view.GetDataRow(index); 
     DataRow row2 = view.GetDataRow(index + 1); 
     object val1 = row1[OrderFieldName]; 
     object val2 = row2[OrderFieldName]; 
     row1[OrderFieldName] = val2; 
     row2[OrderFieldName] = val1; 

     view.FocusedRowHandle = index + 1; 
    } 

我有列名「類別」我需要看它是否向下行中相同的,如果同一移動的行向下並再次檢查下移等,如果它不能移動它改變行顏色

這個代碼,我嘗試使用,但它不是工作

for (int i = 0; i < GVHaya.RowCount; i++) 
if ((((GVHaya.GetRowCellValue(i, "Category").ToString()) == (GVHaya.GetRowCellValue(i -1, "Category").ToString())))) 
      { 
       downhaya() 
      } 

回答

0

要改變顏色Ø在一行中,訂閱Grid View的事件RowCellStyle。

private void view_RowStyle(object sender, RowCellStyleEventArgs e) 
{ 
    e.Appearance.BackColor = Color.Red; 
} 

更多信息here

相關問題