3

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

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

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

4

2 回答 2

1

几种可能:

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

希望这可以帮助

于 2010-01-26T07:54:25.373 回答
1

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

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

类级变量声明:

private double _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;
    }
}

我希望这有帮助。

您可以从这里获得更多详细信息: http ://documentation.devexpress.com/#WindowsForms/CustomDocument1477

于 2012-08-23T00:35:08.697 回答