我有一个从数据库填充的下拉列表。这工作正常。对照的非选择值为-1,非选择标记为“..”。当我尝试打开现有记录进行编辑时,我似乎无法选择正确的行。 ID分为三部分:111A-DD-12345。从数据库返回记录时,ID将被解析为三个字段。第一部分和第三部分是页面上的文本框,但中间部分是下拉列表。当我们打开现有记录时,我们使用以下代码解析ID:
string[] chunks = cID.Split('-');
ddOffice.SelectedItem.Text = chunks[1];
但这只是将ddl的第一行更改为DD(使用上面的示例ID),因此我们最终在ddl中有两行具有相同的显示文本。如何以编程方式将下拉列表设置为正确的值?
编辑:我们也试过了 ddOffice.SelectedValue = chunks [1] ,但这只显示默认的非选定行的..
TIA, 颖
答案 0 :(得分:1)
试试这个:
ddOffice.SelectedIndex = ddOffice.Items.IndexOf(ddOffice.Items.FindByText(chunks[1]));
答案 1 :(得分:0)
(已编辑)您正在设置当前SelectedItem的Text属性,而不是设置SelectedItem本身。根据数据的来源,设置SelectedIndex或SelectedValue。