我的WinForms应用程序中有一个带有一个DataGridViewComboBoxColumn的DataGridView。我需要手动下拉(打开)这个DataGridViewComboBoxColumn,比方说在一个按钮被点击之后。
我需要这个的原因是我已经将SelectionMode设置为FullRowSelect,并且我需要单击2-3次才能打开组合框。我想单击combobox单元格,它应该立即下拉。我想用CellClick event来做这件事,或者有其他方法吗?
我在谷歌和VS帮助中搜索,但我还没有找到任何信息。
有谁能帮帮忙吗?
发布于 2008-10-27 20:05:37
我知道这不是理想的解决方案,但它确实创建了一个在单元格中工作的单击组合框。
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“是我在网格视图中添加的组合框单元格。
发布于 2008-10-28 10:16:28
感谢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;
}
发布于 2008-10-27 20:28:09
我已经能够通过设置来接近你正在寻找的东西
DataGridView1.EditMode = DataGridViewEditMode.EditOnEnter
只要没有显示其他单元格的下拉列表,它就会立即显示所选单元格的下拉列表。
如果有什么问题,我会继续思考和更新的。
https://stackoverflow.com/questions/241100
复制相似问题