簡體   English   中英

DataGridViewComboBoxColumn-下拉列表中的項目類型

[英]DataGridViewComboBoxColumn - type of items in the drop down list

我有一個具有ComboBox列的DataGridView。 我用Field類型的項目填充此列的列表:

DataGridViewComboBoxColumn fieldsColumn = argumentsDataGridView.Columns["field"] as DataGridViewComboBoxColumn;
            foreach (Field field in SessionData.Fields)
                fieldsColumn.Items.Add(field);
            fieldsColumn.DisplayMember = "Name";  

然后,在一些用戶的操作之后,我在該列的單元格中輸入了一個值,如下所示:

private void AddArgument(string argumentName, Field field)
        {
            int index = argumentsDataGridView.Rows.Count;
            argumentsDataGridView.Rows.Add(new DataGridViewRow());
            DataGridViewRow newRow = argumentsDataGridView.Rows[index];
            newRow.Cells["nameArg"].Value = argumentName;
            -> newRow.Cells["field"].Value = field;
        }

如果現在訪問單元格的Value,則其類型為Field 如果我從組合中選擇其他項目,則單元格的“值”將成為一個字符串。 我該如何處理? 我需要類型為Field的物品。

解決方案是在類Field中創建一個屬性Self

public Field Self
        {
            get { return this; }
        }

並將其設置為組合框列的ValueMember。
我以為沒有指定ValueMember 是默認的返回值,我錯了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM