none
关于datagridview中使用combobox的问题 RRS feed

  • 问题

  • DataGridView中绑定了数据源,要实现下拉框的效果,因为下拉框的内容是动态改变的,不是固定的,所以使用了ComboBox显示在datagridview的特定(需要的)单元格,但是有个问题,
    combobox是可编辑的,
    即既可从下拉框选择数据也可由用户输入内容
    现在问题是一旦输入内容的时候按了键盘的方向键 向左键或向右键 
    就会发生错误 提示:操作无效,原因是它导致对 SetCurrentCellAddressCore 函数的可重入调用。
    我觉得原因是在按方向键的时候 DATAGRIDVIEW和combobox同时接收了这个方向键
    即 按下向左键的时候datagridview就会改变currentcell变为其左边的那个cell
    但是我在datagridview的keydown事件里写了禁用 左右方向键了
    但貌似没起到预期作用
    有人知道怎么解决吗
    2012年3月1日 9:42

答案

  • 是不是要像下图一样的效果。但是下图的combobox是不可编辑的,因为数据是从数据库中读出的,本应该设置为只读,为什么要可编辑呢?这似乎有些矛盾。如果你只是要实现如下图的功能请告诉我,我会把方法告诉你。

    Raymond

    • 已建议为答案 Raymond Rex 2012年3月1日 10:33
    • 已标记为答案 Neddy Ren 2012年3月5日 5:44
    2012年3月1日 10:32

全部回复

  • 是不是要像下图一样的效果。但是下图的combobox是不可编辑的,因为数据是从数据库中读出的,本应该设置为只读,为什么要可编辑呢?这似乎有些矛盾。如果你只是要实现如下图的功能请告诉我,我会把方法告诉你。

    Raymond

    • 已建议为答案 Raymond Rex 2012年3月1日 10:33
    • 已标记为答案 Neddy Ren 2012年3月5日 5:44
    2012年3月1日 10:32
  • 你好!现在我正在做类似的功能,一个ComboBox列,逐行添加数据库的记录到DataGridView中,目前只能做到让单元格的ComboBox可以赋值、选择,但是不能像普通ComboBox控件一样可以录入,即DropDown的Style,请问您是否已经做到这个功能?
    2012年6月25日 9:20
  • 太感谢你的回复了,很抱歉,由于工作的关系,我停止了一段时间的编程。原谅我的迟到的回复。

    Raymond

    2014年8月19日 10:18