2つの関連するコンボボックスがあります。combobox1はcombobox2のアイテムにデータを入力します。combobox1selectIndexChanged
イベントでこのコードがありますが、エラーが発生しますUnknown column 'System.Data.DataRowView' in 'where clause'
。
このコードを最初の選択に入れようとしましたSelectionChangeCommitted
が、正しいアイテムが入力されていますが、2番目の選択ではcomboBox2.Items.Clear();
状態にエラーがありますItems collection cannot be modified when the DataSource property is set.
:(どうすればよいですか?
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string sql;
if (comboBox1.SelectedIndex >= 0)
{
comboBox2.Items.Clear();
MySqlConnection conn = new MySqlConnection(sqlString);
MySqlDataAdapter adapter = new MySqlDataAdapter();
sql = "SELECT brgyname,idbrgy from barangay where idmun=" + comboBox1.SelectedValue;
adapter.SelectCommand = new MySqlCommand(sql, conn);
DataTable cbBrgy = new DataTable();
adapter.Fill(cbBrgy);
comboBox2.DataSource = cbBrgy;
comboBox2.DisplayMember = "brgyname";
comboBox2.ValueMember = "idbrgy";
}
}
これが私がcombobox1に移入する方法です
private void cbMun()
{
MySqlConnection conn = new MySqlConnection(sqlString);
MySqlDataAdapter adapter = new MySqlDataAdapter();
adapter.SelectCommand = new MySqlCommand("SELECT munname,idmun from municipality", conn);
DataTable cbMun = new DataTable();
adapter.Fill(cbMun);
comboBox1.DataSource = cbMun;
comboBox1.DisplayMember = "munname";
comboBox1.ValueMember = "idmun";
}