ComboBox
オブジェクトとその項目に読み込まれるクエリを取得するメソッドがあります。ValueMemberプロパティを使用して、コンボボックス内の項目をプログラムで選択します。
方法はまた、2つの他の項目を要求:
1. DBテーブルの列名とそのDBテーブルの列で、各レコードのCombobox
のDisplayMember
性
2. IDにそれを設定します私は2列、IDと対応する名前でクエリを作成することによって、メソッドを使用し
public void DatabaseColumnRecordsToCombobox(ComboBox cbx, String query, String displayMember, String valueMember)
{
try
{
cmd = new MySqlCommand(query, connection);
da = new MySqlDataAdapter(cmd);
tbl = new DataTable();
da.Fill(tbl);
cbx.DataSource = tbl;
cbx.DisplayMember = displayMember;
cbx.ValueMember = valueMember;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
this.CloseConnection();
}
}
Combobox
のValueMember
プロパティにそれを名前と設定します。そしてComboBox
のDisplayMember
とValueMember
に格納:
DatabaseColumnRecordsToCombobox(cmbSupplier, "SELECT Id, Supplier_Name FROM Supplier WHERE Enable_Flag=1 ORDER BY Supplier_Name", "Supplier_Name", "Id");
私はちょうどあなたのすべては私のプログラムは、私の問題を伝える前に、どのように機能するかを理解したい、長い導入について謝罪します。問題は、ComboBox
のValueMember
プロパティを使用して、デフォルトアイテムのDataGridView
を選択する方法です。
プログラムで項目を選択するのはcmbCategory.SelectedItem = "Supplier A"
ですが、私が必要とするのはValueMember
です。このようにしてIdでデフォルト項目を設定できます。
それは働きました!どうもありがとうございました!しかし、単にcombobox1.SelectedValueの整数を使用するのがいいかどうかを知りたいですか?例えば'comboBox1.SelectedValue = 1'です。私は整数を使用していましたが、それはまだ機能しました、なぜこれが大丈夫になったのか分かりません。ところで、私はあなたの人が大好き! #nohomo –
ハハ問題ない男!整数は、そのオブジェクト型からも同様に機能するはずです。 ValueMemberにある型と同じ型を使用できるはずです。 – MrApnea