核心代碼
private string GetSelectedValue(string fieldName) {
int[] selectedRows = gridView1.GetSelectedRows();
if (selectedRows.Length > 0) {
return gridView1.GetRowCellValue(selectedRows[0], fieldName)?.ToString();
}
return null;
}
關鍵 API
GridView.GetSelectedRows():返回選中行句柄數組(可能為負數表示新增行)
GridView.GetRowCellValue(rowHandle, fieldName):按列名獲取值,支持任意類型
擴展:獲取所有選中行某列值
List<string> values = new List<string>();
foreach (int handle in gridView1.GetSelectedRows()) {
if (handle >= 0) { // 過濾新增行
object val = gridView1.GetRowCellValue(handle, "YourField");
if (val != null) values.Add(val.ToString());
}
}
注意事項
- 多選模式需設置
GridView.OptionsSelection.MultiSelect = true
- 行句柄可能為負數(
GridControl.NewItemRowHandle),業務邏輯中通常過濾
- 字段名區分大小寫,需與
GridColumn.FieldName 完全一致