【发布时间】:2010-11-03 09:46:47
【问题描述】:
编辑 1
我相信我的问题源于以下几点。填充下拉部分的函数将显示成员设置为 CountyName。然后,当我按照建议尝试设置 SelectedText 或 EditValue 时,该函数仅返回它尝试与下拉列表 DisplayMember 中的内容匹配的 CountyID。我需要它来匹配 ValueMember 列表中的内容。
使用以下方法我让它工作了,但它是一个 HACK,我非常感谢找到一个真正的解决方案。
lkuResidenceCounty.ItemIndex = Convert.ToInt32(row["ResidencyCountyID"].ToString());
原帖
我在成员表单上有一个查找框(DevExpress),我使用此代码从数据库中填写可能的值 -->
lkuResidenceCounty.Properties.DataSource = ConnectBLL.BLL.Person.CountyList();
lkuResidenceCounty.Properties.PopulateColumns();
lkuResidenceCounty.Properties.DisplayMember = "CountyName";
lkuResidenceCounty.Properties.ValueMember = "CountyID";
lkuResidenceCounty.Properties.Columns[0].Visible = false;
lkuResidenceCounty.Properties.Columns[2].Visible = false;
lkuResidenceCounty.Properties.Columns[3].Visible = false;
这很好用,因为 CountyName 会按预期显示。
但是,当我尝试使用以下内容为该字段加载现有成员的值时,这是从数据集中获取一行的函数的一部分 -->
lkuResidenceCounty.Properties.ValueMember = row["ResidencyCountyID"].ToString();
我得到一个空白框。我已单步执行代码,并且正在为会员返回正确的 ID。
不幸的是,填充下拉选项的存储过程从维护表中提取,其中包含“CountyName”和“CountyID”列。所以这是正确的。不幸的是,加载特定人员的当前县的存储过程从 Person Table 中提取,其中有一个名为“ResidencyCountyID”的列。之所以这样命名,是因为还有一个“ResponsibilityCountyID”列。
我需要一种让它们共存的方法,有什么解决方案吗?
谢谢!
【问题讨论】:
标签: c# .net winforms data-binding devexpress