有很多方法可以做到這一點,這個簡單而美麗的方式將這樣的伎倆爲您提供:
字符串:
yourDataGridViewComboBoxColumn.Items.Cast<string>().Contains("your string value")
長:
yourDataGridViewComboBoxColumn.Items.Cast<long>().Contains(yourLongValue)
複雜對象:
如果您的組合框列Items
是複雜的,你應該這樣做的部份方式:
yourDataGridViewComboBoxColumn.Items.Cast<YourComplexType>()
.Select(x => x.YourValueMemberField)
.Contains(yourLongValue);
例如,如果項目是Category
類型和類別已Id
和Name
和你使用其Id
爲ValueMember
,你可以使用這樣的代碼:
int value=10;
yourDataGridViewComboBoxColumn.Items.Cast<Category>()
.Select(x => x.Id)
.Contains(value);
這裏的關鍵點是使用Cast<T>
可幫助您將所有項目投射到所需類型。
這種方式,你可以使用Where()
項目後Cast<T>()
甚至搜索我嘗試了「龍」的版本,但我只是得到了一個「InvalidCastException的」。 – Programmer
這是因爲可能所有物品都不長 –
它的物品類型是什麼? –