0

如何为 DataGridViewComboBox 单元格中的每个元素设置标签

我的 DataGridViewComboBox 单元格包含以下项目:

string[] Fruits = {"Apple", "Orange","Mango"};
for (i=0;i<3;i++)
{
    DataGridViewComboBoxCellObject.Items.Add(Fruits[i]);
    //Set a seperate tag for this item
}

我想为 Apple、Orange、Mango 添加单独的标签

4

1 回答 1

0

恐怕你不能通过 DataGridViewComboBoxCell 做到这一点。

但是,如果您想保留一些关于添加到 ComboBox 集合中的项目的单独信息,那么您可以创建自己的 DataGridViewComboBoxCell 元素类并将此类的实例作为列表添加到 DataGridViewComboBoxCell

public class Fruit
{
    public String Name {get; set;}
    public Object Tag {get; set;} //change Object to YourType if using only one type

    public Fruit(String sInName, Object inTag)
    {
        this.Name=sInName;
        this.Tag=inTag;
    }
}

然后您可以将 Fruits 列表添加到 DataGridViewComboBoxCell,但在此之前您需要使用您的信息创建 Fruits

string[] Fruits = {"Apple", "Orange","Mango"};
for (i=0;i<3;i++)
{
    Object infoData; //Here use your type and your data
    //Create a element
    Fruit temp = New Fruit(Fruits[i], infoData);
    //Add to DataGridViewComboBoxCell
    DataGridViewComboBoxCell.Items.Add(temp);
}

在此之后,您可以将您的标签信息用作:

if (this.DataGridView.Rows[0].Cells[DataGridViewComboBoxCell.Name].Value != null)
{
    Fruit fruit = (fruit)this.DataGridView.Rows[0].Cells[DataGridViewComboBoxCell.Name].Value;
    Object tagValue = fruit.Tag;
}
于 2013-03-12T20:56:48.473 回答