友達、私はdatagridviewの列インデックス1としてdatagridviewcomboboxcolumnを使用しています。私は、Accessデータベースのテーブルからデータをフェッチし、次のようにしてdatagridviewcomboboxcolumnを埋めました:DataGridviewcomboboxcolumnのValueMemberの値を取得する方法
dgView.Columns.Add(cmbBusCode);
として
cmbBusCode.DisplayIndex = 1;
cmbBusCode.Width = 200;
cmbBusCode.Name = "Code";
cmbBusCode.HeaderText = "Code";
そして追加するこのコラム:次に
for (int i = 0; reader.Read(); i++)
{
cmbBusCode.Items.Add(reader["BUSINESS_CODE"] + "-" + reader["BUSINESS_DESCRIPTION"]);
cmbBusCode.ValueMember = "BUSINESS_CODE";
}
私は、この書いていますコンボボックスにデータが入力されているので、リストから任意のデータを選択できます。データを保存するときに、選択したアイテムのValueMemberを取得します。私は、次のコードを使用していますが、それは、フィールド「BUSINESS_CODE」それは、選択した項目のValueMemeberを得るようvalue..Pleaseが私を助けていない。..
foreach (DataGridViewRow row in dgView.Rows)
{
string cd = row.Cells["Code"].Value.ToString();
}
Huh? 'cmbBusCode'は' DataGridViewComboBoxCell'です!その 'Items'コレクションは表示され、選択可能なアイテムのリストを取ることになっています。アイテムとして渡されたオブジェクトに 'DisplayMember'と' ValueMember'の値に対応するメンバーが含まれている場合、これらのメンバーの値は表示されるか、基になるデータオブジェクトのフィールドに割り当てられます。あなたが示唆しているのは、試してみる価値がありません。これは、どのように動作するかではないからです。 –
@ThorstenDittmar、はいcmbBusCodeはDataGridViewComboBoxColumnであり、上記のコードを使用しています。私はリスト内の選択された項目の対応するValueMemberを取得したいと思っていました。しかし、私は取得していません.. – Sukanya
あなたは私の答えをお読みですか?アイテムには、 'ValueMember'プロパティに割り当てる名前のプロパティが含まれていません。私の答えを読んでください。あなたにアナロジーを与えるには: 'button_Click'という名前のメソッドを書くことができますが、ボタンの' Click'イベントにそれを割り当てない限り呼び出されません。値を取得していないのは、プロパティの名前を 'ValueMember'に代入したが、その名前のものは何もないからです。 –