【问题标题】:Select Dropdown item in datagridview column在 datagridview 列中选择下拉项
【发布时间】:2015-09-10 08:26:40
【问题描述】:

我必须从 datagridview 列中的下拉列表中手动选择项目,但问题是在选择项目时我需要多次单击下拉列表。

如何解决这个问题?任何帮助将不胜感激。

DataGridViewComboBoxColumn cmb = new DataGridViewComboBoxColumn();
cmb.HeaderText = "Data"; 
cmb.Name = "cmb"; 
dgv2.Columns.Add(cmb);

【问题讨论】:

  • 请发布您的代码的相关部分。
  • DataGridViewComboBoxColumn cmb = new DataGridViewComboBoxColumn(); cmb.HeaderText = "数据"; cmb.Name = "cmb"; dgv2.Columns.Add(cmb);
  • 谢谢(尽管下次您可能更愿意自己更新您的问题)。这段代码很好,虽然没有提供太多信息。您抱怨必须多次单击才能在组合框中选择给定项目。提供有助于理解这种情况的代码和/或信息(提供的代码并非如此)。
  • dataGridView1.ColumnCount = 1; dataGridView1.Columns[0].Name = "地址"; DataGridViewComboBoxColumn cmb = new DataGridViewComboBoxColumn(); cmb.HeaderText = "数据"; cmb.Name = "数据"; dataGridView1.Columns.Add(cmb);字符串 [] 行 = 新字符串 [] { "地址 2"}; dataGridView1.Rows.Add(行);行 = 新字符串 [] { "地址 3"}; dataGridView1.Rows.Add(行); for(int i=0;i

标签: c# winforms datagridview


【解决方案1】:

DataGridViewEditMode属性设置为EditOnEnterlink

DataGridView.EditMode - 获取或设置指示如何开始编辑单元格的值。

EditOnEnter - 当单元格获得焦点时开始编辑。

【讨论】:

    【解决方案2】:

    下面的代码必须绑定到datagridview的CellClick事件中:

    private void datagridview_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            bool validRow = (e.RowIndex != -1); //Make sure the clicked row isn't the header.
            var datagridview = sender as DataGridView;
    
            // Check to make sure the cell clicked is the cell containing the combobox 
            if(datagridview.Columns[e.ColumnIndex] is DataGridViewComboBoxColumn && validRow)
            {
                datagridview.BeginEdit(true);
                ((ComboBox)datagridview.EditingControl).DroppedDown = true;
            }
        }
    
    1. 尝试将EditMode 属性设置为EditOnEnter。 我希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-19
      • 1970-01-01
      • 2017-07-26
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      相关资源
      最近更新 更多