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

次に、果物のリストを 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;
}
于 2013-03-12T20:56:48.473 に答える