2013-07-17 51 views
0

我有一堆gridview的gridview。我也有向上/向下按鈕,可以向上/向下移動組內的數據行。如果數據行是組中的最後一行,那麼當用戶按下「向下」按鈕時,我不希望該行執行任何操作。如何檢查數據行是否爲組中的最後一行?如何在DevExpress gridview中查找組的最後一行?

回答

1

你可以試試這個

int rowHandle = view.FocusedRowHandle; 
int groupRow = view.GetParentRowHandle(rowHandle); 
var childRows = GetChildRowsHandles(view, groupRow); 
if (childRows.Count > 0 && childRows.Last() == rowHandle) 
{ 
    //selected row is the last datarow of its GroupRow 
} 

public List<int> GetChildRowsHandles(GridView view, int groupRowHandle) 
    { 
     List<int> childRows = new List<int>(); 

     if (!view.IsGroupRow(groupRowHandle)) 
     { 
      return childRows; 
     } 

     int childCount = view.GetChildRowCount(groupRowHandle); 
     for (int i = 0; i < childCount; i++) 
     { 
      int childHandle = view.GetChildRowHandle(groupRowHandle, i); 
      if (view.IsDataRow(childHandle)) 
      { 
       if (!childRows.Contains(childHandle)) 
        childRows.Add(childHandle); 
      } 
     } 

     return childRows; 
    } 

注:我沒有測試的代碼。試試看。

+0

這是有道理的。我是新來的團體,但這種方式正是我想要的。謝謝! –

相關問題