我正在使用gridcontrol
我有3列。
在其中一列上,我使用了存储库项目查找编辑。当我使用tableadapter update方法更新网格的数据源时出现我的问题,之后所有其他列保留正确的数据选择,但是在存储库的列上单元格是空的..但是数据存在,所以没有文本显示,但数据存在。
关于如何使这项工作的任何想法?
答案 0 :(得分:0)
RepositoryItemLookupEdit
的问题是DisplayValue
成员在新的数据集中不存在旧的选定值时不显示任何内容。因此,您必须检查新加载的数据是否包含旧值EditValue
..
答案 1 :(得分:0)
您需要确保正确设置了编辑器的DataSource,并且如前所述,还有DisplayMember和ValueMember属性。显示成员将确定编辑器本身显示的内容,并且值成员将用于绑定。因此,您可以拥有Value Member的(int)ID和Display Member的(字符串)Name或Description。这里最重要的是正确设置和更新编辑器的DataSource属性。您可以在Designer中或在代码本身中通过直接访问编辑器的DataSource属性并在表单加载或初始化时将其设置为域对象的集合来完成此操作。
此外,您可以从您的域对象创建一个BindingSource,您可以使用它来映射到数据源,或者(我建议)创建一个装饰您的域对象的视图模型。这允许您根据需要按摩数据。在某些情况下,您可能希望在显示或绑定数据之前或之后进行一些验证或格式化。