我试图在一个for循环的组合框中找到一个特定的valueMember。这就是我到目前为止所拥有的
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是组合框。如何找到组合框中每个项目的值成员,看看我正在寻找的值是否在其中? 感谢
P.S。 这是getUSerID的代码:
'public static string GetUserID() { 尝试 { return Environment.UserName; } catch(例外) { return null; } }“
答案 0 :(得分:2)
我想从clsColOpsUtilities.GetUserID()
得到的值可能会匹配SelectedValue
某些项目的某些ComboBox
,请尝试以下代码:
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";
注意:我会为组合框添加一些Item
Text = "All"
,以便可以选择它。
答案 1 :(得分:1)
在您的问题中,您将遍历每个项目,然后选中此框(每次)以查看框中的整个项目列表是否包含用户ID。
这也是一样的事情:
var userId = clsColOpsUtilities.GetUserID();
this.cmbAssignedTo.SelectedValue = this.cmbAssignedTo.Items.Contains(userId) ? userId : "All";
如果组合框的项目包含userId,则将组合框的值设置为userId,否则将其设置为“All”。
如果没有关于您的代码正在做什么以及您希望它做什么的更多信息,很难确切地知道您在答案中想要什么。