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

时间:2010-01-22 06:39:28

标签: devexpress xtragrid

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

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

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

2 个答案:

答案 0 :(得分:1)

几种可能性:

  • 检查已编辑列的FieldName属性。也许存在拼写错误,因此网格不会将您输入的值传递给基础数据源
  • 绑定到列的属性必须具有公共setter。如果只有getter,grid也将无法存储输入的值
  • 检查网格列中的ColumnOptions.ReadOnly属性 - 必须设置为false

希望这有帮助

答案 1 :(得分: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