0

我有一个包含大量数据的 datagridview,当我添加新行时,第一列的最后一行会创建一个包含四个项目的新 ComboBoxCell。但我无法为组合框设置默认值(“DropDown”)。每次我必须手动选择“DropDown”。解决办法是什么?

 DataGridViewComboBoxCell dgvCell = new DataGridViewComboBoxCell();
 dgv[1, dgv.Rows.Count - 1] = dgvCell;

 string[] controltype = {"DropDown", "CheckBoxList", "ListControl", "Tree" };
 dgvCell.DataSource = controltype;
4

3 回答 3

0
private void dataGridView_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
    {
        e.Row.Cells[4].Value = "DropDown";
    }
于 2012-08-27T07:21:12.657 回答
0

很简单,如果您的DataGrid View 中有一个ComboBox Column,并且您想知道组合框的选定索引是什么,那么您需要这样做: 1. 处理DataGrid View 的EditingControlShowing 事件。在这个事件处理程序中,检查当前列是否是我们感兴趣的。然后我们创建一个临时的 ComboBox 对象并获取选中的索引:

代码

private void dataGridView1_EditingControlShowing(object sender,
DataGridViewEditingControlShowingEventArgs e)
{
if (dataGridView1.CurrentCell.ColumnIndex == 0)
{
// Check box column
ComboBox comboBox = e.Control as ComboBox;
comboBox.SelectedIndexChanged += new EventHandler(comboBox_SelectedIndexChanged);
}
}

void comboBox_SelectedIndexChanged(object sender, EventArgs e)
{
int selectedIndex = ((ComboBox)sender).SelectedIndex;
MessageBox.Show("Selected Index = " + selectedIndex);
}
于 2013-09-19T12:18:55.647 回答
-1

尝试 :

if(!isPostBack)
  {
   dgvCell.SelectedItem=controltype[0].toString(); 
  }
于 2012-08-23T11:32:30.227 回答