是否可以根据其值设置组合框的selectedIndex

Bil*_*soe 1 .net c# listbox selectedindex winforms

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

我像这样设置数据源:

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

            cbOwner.DisplayMember = "fullName";
            cbOwner.ValueMember = "userId";
            cbOwner.DataSource = users;
Run Code Online (Sandbox Code Playgroud)

不得不遍历表fx似乎不那么优雅.通过做:

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

                if (usersRow.userId == selectedUser)
                {

                    cbOwner.SelectedIndex = counter;

                }
                counter++;
            }
Run Code Online (Sandbox Code Playgroud)

Adr*_*fin 6

尝试一下

comboBox.SelectedValue = "value";
Run Code Online (Sandbox Code Playgroud)

要么

comboBox.SelectedItem = item;
Run Code Online (Sandbox Code Playgroud)

问题编辑后:

将SelectedValue设置为selectedUser:

cbOwner.SelectedValue = selectedUser;
Run Code Online (Sandbox Code Playgroud)


Hen*_*man 5

使用DisplayMemberValueMember属性时,请设置SelectedValue.

否则,设置SelectedItem.