【发布时间】:2017-08-28 17:46:49
【问题描述】:
我有一个 Datagridview 和两个组合框(相关)当我单击 dataGridView1_CellMouseClick cmbSehir.Text 时,我会根据需要更改。但 cmbilce.Text 并没有按我的意愿改变!我在哪里犯错误。我希望我说清楚了。感谢您的帮助。
private void frmMusteriEkle_Load(object sender, EventArgs e)
{
GetSehir();
GetDatagridview();
}
private void GetSehir() {
db.connect();
db.SqlQuery("select * from iller");
DataTable dt = db.GeTDataTable();
DataRow dr = dt.NewRow();
dr["id"] = 0;
dr["sehir"] = "Seçiniz:";
dt.Rows.InsertAt(dr, 0);
cmbSehir.DataSource = dt;
cmbSehir.ValueMember = "id";
cmbSehir.DisplayMember = "sehir";
db.disconnect();
}
private void cmbSehir_SelectionChangeCommitted(object sender, EventArgs e)
{
if (cmbSehir.SelectedIndex != 0)
{
db.connect();
db.SqlQuery("select * from ilceler where il_id = ?");
db.command.Parameters.AddWithValue("@p", cmbSehir.SelectedValue);
DataTable dt = db.GeTDataTable();
cmbilce.DataSource = dt;
cmbilce.ValueMember = "id";
cmbilce.DisplayMember = "ilceler";
db.disconnect();
}
else
{
cmbilce.DataSource = null;
}
}
private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
cmbSehir.Text = dataGridView1.Rows[e.RowIndex].Cells[4].Value.ToString();
cmbilce.Text = dataGridView1.Rows[e.RowIndex].Cells[5].Value.ToString();
}
【问题讨论】:
-
虽然 cmbSehir 在加载 MusteriEkle 表单时被实例化,但 cmbilce 只有在 cmbSehir 已更改时才会经历类似的过程。 cmbilce 的格式是否正确并设置为接收其
.Text值的更新? -
我做了我想做的事。我在 dataGridView1_CellMouseClick 事件上调用 cmbilce。谢谢回答。
标签: c# datagridview combobox selectedindexchanged