datagridviewcombobox的SelectedIndexChanged事件
private void button2_Click(object sender, EventArgs e)
{
DataRow dr = dt.NewRow();
dt.Rows.Add(dr);//添加行
DataGridViewComboBoxColumn colNm
datebase db=new datebase();
colNm.DataSource=db.ReturnCboShangpinNameDs().Tables[0];
colNm.DisplayMember = "shangpinname";//绑定数据集 shangpinname为商品名称
this.dgvJinhuowupin.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(dgvJinhuowupin_EditingControlShowing);
}
private void dgvJinhuowupin_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
((ComboBox)e.Control).SelectedIndexChanged += new EventHandler(JinhuoAdd_SelectedIndexChanged);
}
void JinhuoAdd_SelectedIndexChanged(object sender, EventArgs e)
{
string a = ((ComboBox)sender).Text;//a的值为商品名称
datebase db = new datebase();
SqlDataReader srd=db.ReturnSdr(a); //根据商品名称查出--商品编号,商品规格,单价
while (srd.Read())
{
this.dgvJinhuowupin.CurrentRow.Cells["商品编号"].Value = srd.GetValue(0).ToStrin();
this.dgvJinhuowupin.CurrentRow.Cells["商品规格"].Value=srd.GetValue(1).ToString();
this.dgvJinhuowupin.CurrentRow.Cells["单价"].Value = srd.GetValue(2).ToString();
}
}
当我添加第一行时 第一行的cmobobox SelectedIndexChanged事件好用
当我添加第二行时 第一行的cmobobox SelectedIndexChanged事件好用
当我在回到第一行单击combobox 时报错
设置datasource属性后无法修改项集合
------解决方案--------------------
dataGridViewComboBoxColumn.DataSource 绑定之后是不允许直接修改..
所以解决办法只有将所有"选项"一次性绑定到DataGridViewComboBoxColumn, 或将数据放到BindingSource再绑定到dataGridViewComboBoxColumn.DataSource..
最后再对BindingSource执行筛选操作, 达到联动效果..
------解决方案--------------------
楼主先试一下我的说的属性看一下。