我正在使用datagridviewcomboboxcell顯示值。我希望這個單元格的值是int。但是:當我打開組合框時,我希望看到組合框中每個項目的描述。當我選擇一個值時,這個值會改變(組合框被關閉),而可見值只是int。有沒有人有想法如何做到這一點?datagridview中的c#組合框
喜歡:選擇的項目:2
擴展組合框:0 - 烯 1 - 由於 2 - 日科 3 - 假 感謝您的幫助。
我正在使用datagridviewcomboboxcell顯示值。我希望這個單元格的值是int。但是:當我打開組合框時,我希望看到組合框中每個項目的描述。當我選擇一個值時,這個值會改變(組合框被關閉),而可見值只是int。有沒有人有想法如何做到這一點?datagridview中的c#組合框
喜歡:選擇的項目:2
擴展組合框:0 - 烯 1 - 由於 2 - 日科 3 - 假 感謝您的幫助。
即使你會找到一種設置TextField和ValueField的方法,我嚴重懷疑當控件顯示下拉列表(數字和文本)時,會有不同的文本呈現,並且它已摺疊並僅顯示爲下拉列表關閉(僅限數量)。
你問的東西當然有意義,但是你不會爲了設置幾個屬性而毫不費力地運行它。
在Windows處理這種形式,你應該攔截事件:EditingControlShowing,並在那裏,對於組合框,指定自定義值的控制,這裏是一個起點:
void dataGridView1_EditingControlShowing(object sender,
DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is ComboBox)
{
ComboBox cmb = e.Control as ComboBox;
// here you can work on the ComboBox...
}
}
嗯。也許我誤解了這個問題。我的回答不起作用,如果這是他想要做的... –
她。感謝幫助;) – santBart
您需要將ValueMember
屬性設置爲您的對象中的任何屬性都是「id」。要設置可見文本,請將屬性設置爲DisplayMember
屬性。如果此數據網格綁定到數據庫記錄或某種類型,則上面提到的屬性應該是要綁定的表字段的名稱。
valuemember和displaymember的addit如何對items.add方法進行覈對? – santBart
假設您綁定了一個對象列表,烘焙到DataGridView中的代碼將搜索對象中與您附加到上述屬性的名稱匹配的屬性名稱。 –
你很可能需要設置DataTextField和DataValueField屬性。 –
我不明白。 WHERE在datagridviewcomboboxcell類不是textfieldcelll – santBart
這是一個WinForm或WebForm(ASP.NET)項目? –