如何获取GridLookUpEdit的EditValue?

时间:2014-09-08 09:59:23

标签: c# devexpress

我有一个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?

1 个答案:

答案 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;