我有一个GridLookUpEdit并且想要在FocusedRowChanged事件上获取编辑值:
private void gridView_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
{
var view = sender as GridView;
if (view != null)
{
MessageBox.Show(view.GetRowCellValue(e.FocusedRowHandle, view.Columns[1]).ToString());
}
}
但是在这里我得到一个错误说我没有列数组。但我有两列,第一列可见,第二列不可见 这里有什么不对?如果可能的话,我怎样才能更正确地获得EditValue?
答案 0 :(得分:1)
您的视图似乎只有一列,基础数据源中有两列。因此,您可以从基础数据源获取值
如果您的基础数据源是DataTable
,那么您可以使用ColumnView.GetDataRow
方法:
MessageBox.Show(view.GetDataRow(e.FocusedRowHandle)[1].ToString());
如果您的基础数据源是List<SomeObject>
,那么您可以使用ColumnView.GetDataSourceRowIndex
方法:
MessageBox.Show(YourList[view.GetDataSourceRowIndex()].YourColumn.ToString());
或者您可以使用ColumnView.Columns
集合添加第二列:
var column = view.Columns.AddField("YourField");
column.Visible = false;