DataGridViewComboBox每个项目的单元格设置标签



如何为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添加单独的标签

恐怕不能通过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;
    }
}

然后你可以将水果列表添加到DataGridViewComboBoxCell中,但在此之前你需要用你的信息创建一个水果

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;
}

相关内容

  • 没有找到相关文章

最新更新