[英]Finding a valueMember in a combobox dropdown
我試圖在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是組合框。 如何在組合框中找到每個項目的值成員,並查看是否在其中尋找值? 謝謝
PS這是getUSerID的代碼:
'公共靜態字符串GetUserID(){嘗試{返回Environment.UserName; } catch(Exception){返回null; }}'
我猜想從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";
注 :我想補充一些Item
與Text = "All"
的組合框,以便它可以被選擇。
在您的問題中,您要遍歷每個項目,然后(每次)選中該框,以查看該框中的整個項目列表是否包含用戶ID。
這做同樣的事情:
var userId = clsColOpsUtilities.GetUserID();
this.cmbAssignedTo.SelectedValue = this.cmbAssignedTo.Items.Contains(userId) ? userId : "All";
如果組合框的項目包含userId,則將組合框的值設置為userId,否則,將其設置為“ All”。
如果沒有有關您的代碼在做什么以及您期望代碼在做什么的更多信息,那么很難確切地知道您想要的答案是什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.