保留在DevExpress Xtragrid单元格中输入的值

保留在DevExpress Xtragrid单元格中输入的值,devexpress,xtragrid,Devexpress,Xtragrid,我正在C#.net windows应用程序中使用DevExpress Xtragrid控件 我在网格的第一个单元格中输入一些值,如果我转到第二个单元格,在第一个单元格中输入的值将消失 如何保留单元格中输入的值?几种可能性: 检查已编辑列的FieldName属性。可能有输入错误,所以网格不会将您输入的值传递给底层数据源 绑定到列的属性必须具有公共setter。若只有getter,网格也将无法存储输入的值 检查网格列中的ColumnOptions.ReadOnly属性-必须设置为false 希望

我正在C#.net windows应用程序中使用DevExpress Xtragrid控件

我在网格的第一个单元格中输入一些值,如果我转到第二个单元格,在第一个单元格中输入的值将消失

如何保留单元格中输入的值?

几种可能性:

  • 检查已编辑列的FieldName属性。可能有输入错误,所以网格不会将您输入的值传递给底层数据源
  • 绑定到列的属性必须具有公共setter。若只有getter,网格也将无法存储输入的值
  • 检查网格列中的ColumnOptions.ReadOnly属性-必须设置为false

希望这对您有所帮助

我假设您在gridView(Xtragrid)中对未绑定的列使用它,第一步是确保转到列属性,并将
UnboundType
属性值更改为您将输入该列的数据类型,下面的示例使用
double

CustomUnboundColumnData
事件分配给gridView。确保声明一个类级变量(在下面的代码示例中名为_userEnteredData)来保存要输入到gridView中的值,然后添加以下代码段,但确保更改名称以匹配gridView和变量名称:

类级别变量声明:

private double\u userEnteredData=0

现在是活动:

private void gridView1_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e)
{
    if (e.Column == gridColumn_YourColumn && e.IsSetData)
    {
        _userEnteredData = Convert.ToDouble(e.Value);
    }
    else if (e.Column == gridColumn_YourColumn && e.IsGetData)
    {
        e.Value = _userEnteredData;
    }
}
我希望这有帮助

您可以从这里获得更多详细信息: