我的网格中有三列,每列都有一个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();
答案 0 :(得分:2)
这样做的原因是在多个LookUpEdits之间使用了对DataSource的引用。这种情况在我之前发生过,避免这种情况的最佳方法是确保传递给LookUpEdit的DataSource的数据集是每个LookUpEdits的新对象。如果您在多个LookUpEdits数据源中引用了相同的数据,那么即使您操作了未选择的不同LookUpEdits,LookUpEdits的EditValues也会发生变化。
如果没有您的代码,我很难为您的问题编写解决方案代码,但我总是只需要获取我需要的数据,并确保创建我绑定到每个LookUpEdit的对象的新副本&#39 ; s DataSource。这样每个LookUpEdit都有自己的数据集,当数据被操纵时,它不会干扰其他LookUpEdits数据引用。