DevExpress WPF擁有120+個控件和庫,將幫助您交付滿足甚至超出企業需求的高性能業務應用程序。通過DevExpress WPF能創建有著強大互動功能的XAML基礎應用程序,這些應用程序專注于當代客戶的需求和構建未來新一代支持觸摸的解決方案。 無論是Office辦公軟件的衍伸產品,還是以數據為中心的商業智能產品,都能通過DevExpress WPF控件來實現。
DevExpress WPF GridControl包含多個方法,這些方法允許您在數據源中獲取行句柄、可見索引和索引,本文將為大家列出并描述了這些方法。
獲取DevExpress WPF 正式版下載
獲取行句柄
- DataViewBase.FocusedRowHandle:如果DataViewBase.NavigationStyle屬性沒有設置為GridViewNavigationStyle.None,則指定焦點行的句柄。
- DataViewBase.GetRowHandleByMouseEventArgs(MouseEventArgs):返回位于鼠標指針下的行句柄。
- DataViewBase.GetRowHandleByTreeElement(DependencyObject):返回包含指定元素的行句柄。
- GridControl.GetRowHandleByVisibleIndex(Int32):通過該行可見索引返回該行句柄。
- GridControl.GetRowHandleByListIndex(Int32):根據數據源中的索引返回行句柄。
- GridControl.GetListIndexByRowHandle(Int32):通過行句柄返回數據源中的行索引。
- DataControlBase.FindRow(Object):在GridControl或TreeListControl中搜索數據行并返回該行句柄。
- DataControlBase.FindRowByValue(ColumnBase, Object):在列中搜索值并返回相應行的句柄。
- DataControlBase.FindRowByValue(String, Object):在列中搜索值并返回相應行的句柄。
- GridControl.FindRowByValueAsync(ColumnBase, Object):在列中搜索值,并異步返回相應行的句柄。
- GridControl.FindRowByValueAsync(String, Object):在列中搜索值,并異步返回相應行的句柄。
- DataViewBase.GetNextRowHandle(Int32):返回指定行的后一行的句柄。
- DataViewBase.GetPrevRowHandle(Int32):返回指定行之前的行句柄。
下面的示例顯示如何獲取已單擊的行。
C#
private void TableView_MouseDown(object sender, MouseButtonEventArgs e) {
int rowHandle = grid.View.GetRowHandleByMouseEventArgs(e as MouseEventArgs);
MessageBox.Show(GetRowType(rowHandle), "Hit Info");
}
private string GetRowType(int rowHandle) {
if (grid.IsGroupRowHandle(rowHandle))
return "Group Row";
if (rowHandle == GridControl.AutoFilterRowHandle)
return "Automatic Filter Row";
if (rowHandle == GridControl.NewItemRowHandle)
return "New Item Row";
if (rowHandle == GridControl.InvalidRowHandle)
return "Invalid Row";
return "Data Row";
}
獲取數據源中的數據行和行索引
行句柄和可見索引反映了視圖中行的可見順序,這些可能會隨著行位置或可見性的改變而改變。要引用數據源中的特定行,應該使用列表索引(數據源中的行索引)。要通過指定句柄來獲得行的列表索引,請使用GridControl.GetListIndexByRowHandle方法。
要獲取具有指定句柄的行對應的行對象,請使用DataControlBase.GetRow,?GridControl.GetRowAsync?或?GridControl.GetRowByListIndex方法。要獲取焦點行,請使用GridControl.GetFocusedRow方法。行對象表示數據源中的記錄,例如,DataRow對象表示數據表中的一條記錄。