LookUpEdit中的选择未保存

时间:2014-01-06 21:20:57

标签: c# winforms grid devexpress

我的网格中有三列,每列都有一个LookUpEditor。每个都显示不同的数据没有任何问题。

我已将属性GridView.OptionsBehavior.AutoSelectAllIneditor设置为 true ,以在底部显示一个空行,以便向网格添加新数据。

我的问题是,当我在第一列中显示LookUpEditor并选择一个项目然后移动到下一列以选择另一个项目时,我的第一列数据不保持其值,并且与其他专栏。

以下是我在网格和LookUpEdit存储库中设置DataSource的代码:

gc_Operaciones.DataSource = _parametroEnsayoProductoList;

repositoryItemLookUpEdit1.DataSource = NBibliography.GetAllElab().Select(p =>   p.NombreProd).ToList();
repositoryItemLookUpEdit2.DataSource = NBibliography.GetAllTypeEnsayo().Select(p => p.Descripcion).ToList();
repositoryItemLookUpEdit3.DataSource = NBibliography.GetAllEnsayo().Select(p => p.Nombre).ToList();

1 个答案:

答案 0 :(得分:2)

这样做的原因是在多个LookUpEdits之间使用了对DataSource的引用。这种情况在我之前发生过,避免这种情况的最佳方法是确保传递给LookUpEdit的DataSource的数据集是每个LookUpEdits的新对象。如果您在多个LookUpEdits数据源中引用了相同的数据,那么即使您操作了未选择的不同LookUpEdits,LookUpEdits的EditValues也会发生变化。

如果没有您的代码,我很难为您的问题编写解决方案代码,但我总是只需要获取我需要的数据,并确保创建我绑定到每个LookUpEdit的对象的新副本&#39 ; s DataSource。这样每个LookUpEdit都有自己的数据集,当数据被操纵时,它不会干扰其他LookUpEdits数据引用。