当前位置:  开发笔记 > 编程语言 > 正文

如何手动下拉DataGridViewComboBoxColumn?

如何解决《如何手动下拉DataGridViewComboBoxColumn?》经验,为你挑选了3个好方法。

我的WinForms应用程序中有一个DataGridView和一个DataGridViewComboBoxColumn.我需要手动下拉(打开)这个DataGridViewComboBoxColumn,比如单击一个按钮后.

我需要这个的原因是我已将SelectionMode设置为FullRowSelect,我需要单击2-3次才能打开组合框.我想点击组合框,它应该立即下拉.我想用CellClick事件做这个,或者还有其他方法吗?

我在Google和VS帮助中搜索,但我还没有找到任何信息.

有人可以帮忙吗?



1> thismat..:

我知道这不是理想的解决方案,但它确实创建了一个在单元格内工作的单击组合框.

   Private Sub cell_Click(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
        DataGridView1.BeginEdit(True)
        If DataGridView1.Rows(e.RowIndex).Cells(ddl.Name).Selected = True Then
            DirectCast(DataGridView1.EditingControl, DataGridViewComboBoxEditingControl).DroppedDown = True
        End If
    End Sub

其中"ddl"是我在gridview中添加的组合框.



2> user20353..:

谢谢ThisMat,您的解决方案完美无缺.

我在C#中的代码:

private void dataGridViewWeighings_CellClick(object sender, DataGridViewCellEventArgs e) {
    if (e.RowIndex < 0) {
        return;     // Header
    }
    if (e.ColumnIndex != 5) {
        return;     // Filter out other columns
    }

    dataGridViewWeighings.BeginEdit(true);
    ComboBox comboBox = (ComboBox)dataGridViewWeighings.EditingControl;
    comboBox.DroppedDown = true;
}



3> PersistenceO..:

通过设置,我已经能够接近你想要的东西了

DataGridView1.EditMode = DataGridViewEditMode.EditOnEnter

只要没有显示其他单元格的下拉列表,它就应该立即显示所选单元格的下拉列表.

如果出现任何问题,我会继续思考和更新.

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有