DevExpress存储库项目查找编辑数据显示

本文关键字:编辑 数据 显示 查找 项目 存储 DevExpress | 更新日期: 2023-09-27 18:26:25

我使用的gridcontrol有3列。

在其中一列中,我使用了存储库项目查找编辑。当我使用tableadapter update方法更新网格的数据源时,我的问题就出现了,之后所有其他列都保留了正确的数据选择,但在具有存储库的列上,单元格是空的。。但是数据是存在的,所以没有显示文本,但是存在数据。

有什么想法可以让它发挥作用吗?

DevExpress存储库项目查找编辑数据显示

RepositoryItemLookupEdit的问题是,如果新数据集中不存在旧的选定值,则DisplayValue成员将不显示任何内容。因此,您必须检查新加载的数据是否实际上包含旧值EditValue。。

您需要确保正确设置了Editor的DataSource,以及前面提到的DisplayMember和ValueMember属性。Display Member将确定编辑器本身中显示的内容,Value Member是将用于绑定的内容。因此,您可以为Value Member提供一个(int)ID,为Display Member提供(string)Name或Description。这里最重要的是正确地设置和更新编辑器的DataSource属性。通过直接访问编辑器的DataSource属性并在窗体加载或初始化时将其设置为域对象的集合,可以在设计器中或代码本身中实现这一点。

此外,您可以从域对象创建BindingSource,用于映射到数据源,或者(我建议)创建一个装饰域对象的视图模型。这允许您根据需要对数据进行按摩。在某些情况下,您可能希望在显示或绑定数据之前或之后进行一些验证或格式化。