日期:2014-05-18 浏览次数:21020 次
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { if (sender != null) { if(((DataGridView)sender).SelectedCells[0].ColumnIndex==0) //编辑的是第0列 { //设置第一列的数据源 //((ComboBox)e.Control).DataSource = ds.Tables[0]; //((ComboBox)e.Control).DisplayMember = "Display"; //((ComboBox)e.Control).ValueMember = "Value"; ////当DataGridView中的ComboBox值变化时,生成如下事件 ((ComboBox)e.Control).SelectedIndexChanged += new EventHandler(DataGridViewCombox_SelectedIndexChanged); } } } /// <summary> /// ////当DataGridView中的ComboBox值变化时触发如下事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DataGridViewCombox_SelectedIndexChanged(object sender, EventArgs e) { if (sender != null&&dataGridView1.SelectedCells[0].ColumnIndex==0)//确定发生值变化的是第0列。可根据实际情况调整。 { int rowIndex =dataGridView1.SelectedCells[0].RowIndex; //获取第rowIndex行,第1列的Cell DataGridViewComboBoxCell dgvcbc=(DataGridViewComboBoxCell) dataGridView1.Rows[rowIndex].Cells[1]; dgvcbc.Items.Clear();//清空DataGridViewComboxCell ///////////////////往里填充新的数值。 for (int i = 0; i < 10; i++) { dgvcbc.Items.Add(((ComboBox)sender).SelectedItem.ToString() + i.ToString()); } } }