【问题标题】:Is it possible to set the selectedIndex of a combobox based on its value是否可以根据其值设置组合框的 selectedIndex
【发布时间】:2011-02-21 14:00:06
【问题描述】:

是否可以根据其值设置组合框的 selectedIndex,而无需遍历数据源?

我这样设置数据源:

caseDBTableAdapters.usersTableAdapter usersAdapter = new caseDBTableAdapters.usersTableAdapter();
            caseDB.usersDataTable users;
            users = usersAdapter.GetUsers();

            cbOwner.DisplayMember = "fullName";
            cbOwner.ValueMember = "userId";
            cbOwner.DataSource = users;

遍历表 fx 似乎不太优雅。通过这样做:

int counter = 0;
            foreach (caseDB.usersRow usersRow in users)
            {

                if (usersRow.userId == selectedUser)
                {

                    cbOwner.SelectedIndex = counter;

                }
                counter++;
            }

【问题讨论】:

  • 如果你能提供一些示例代码,其他人会更容易帮助你。
  • @Rajesh - 我已经提供了示例代码,您还需要更多吗?

标签: c# .net winforms listbox selectedindex


【解决方案1】:

试一试

comboBox.SelectedValue = "value";

comboBox.SelectedItem = item;

问题编辑后:

将 SelectedValue 设置为 selectedUser:

cbOwner.SelectedValue = selectedUser;

【讨论】:

  • 我喜欢你能做到这一点
【解决方案2】:

当您使用DisplayMemberValueMember 属性时,设置SelectedValue

否则,设置SelectedItem

【讨论】:

  • 我真的很难相信这篇文章是我在谷歌搜索“如果你使用数据源时是否使用 selectedindex”的第 15 篇文章,而在我看来这是一件很常见的事情!谢谢
猜你喜欢
  • 2017-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多