在组合框下拉列表中查找值成员

本文关键字:查找 成员 下拉列表 组合 | 更新日期: 2023-09-27 18:32:06

我正在尝试在组合框中查找一个特定的值成员。这就是我到目前为止所拥有的

for (int i = 0; i <= this.cmbAssignedTo.Items.Count - 1; i++)
            {
                if (this.cmbAssignedTo.Items.Contains(clsColOpsUtilities.GetUserID()))
                {
                    this.cmbAssignedTo.SelectedValue = clsColOpsUtilities.GetUserID();
                }
                else
                {
                    this.cmbAssignedTo.Text = "All";
                }
            }

cmbAssignedTo 是组合框。如何在组合框中找到每个项目的值成员,并查看我正在寻找的值是否在其中?谢谢

附言这是getUSerID的代码:

' 公共静态字符串 GetUserID() { 尝试 { 返回环境用户名; } 捕获(例外) { 返回空值; } }'

在组合框下拉列表中查找值成员

我想从clsColOpsUtilities.GetUserID()获得的值可能与您ComboBox的某些项目的某些SelectedValue相匹配,请尝试以下代码:

cmbAssignedTo.SelectedValue = clsColOpsUtilities.GetUserID();
//If the GetUserID() doesn't match any ValueMember, then the SelectedIndex will be -1
if(cmbAssignedTo.SelectedIndex == -1) cmbAssignedTo.Text = "All";

注意:我会为组合框添加一些带有Text = "All" Item,以便可以选择它。

在您的问题中,您遍历每个项目,然后选中该框(每次)以查看框中的整个项目列表是否包含用户 ID。

这做同样的事情:

var userId = clsColOpsUtilities.GetUserID();
this.cmbAssignedTo.SelectedValue = this.cmbAssignedTo.Items.Contains(userId) ? userId : "All";

如果组合框的项目包含 userId,则将组合框的值设置为 userId,否则将其设置为"全部"。

如果没有更多关于你的代码正在做什么以及你期望它做什么的信息,就很难确切地知道你想要的答案是什么。