【问题标题】:The selection in the LookUpEdit is not savedLookUpEdit 中的选择未保存
【发布时间】:2014-01-24 10:03:17
【问题描述】:

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

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

我的问题是,当我在第一列中显示 LookUpEditor 并选择一个项目然后移动到下一列以选择另一个时,我的第一列的数据不会保持它的值,并且与另一列相同.

这是我用来在网格和 LookUpEdit 存储库中设置数据源的代码:

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();

【问题讨论】:

  • 如果您发布代码,您的问题会更容易可视化。
  • 我只是上传我的代码,不过很简单,为每条数据设置DataSource即可。

标签: c# winforms grid devexpress


【解决方案1】:

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

没有您的代码,我很难为您的问题编写解决方案,但我总是只获取我需要的数据,并确保我正在创建绑定到每个 LookUpEdit 的数据源的对象的新副本。这样,每个 LookUpEdit 都有自己的数据集,并且在操作数据时不会干扰其他 LookUpEdits 数据引用。

【讨论】:

    猜你喜欢
    • 2013-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多