分享

使DataGrid控件的单元格具有下拉功能

 niehouhua 2011-04-07
使DataGrid控件的单元格具有下拉功能
2008-06-18 22:53

    经常看到有些软件的列表中单元格具有类似下列组合框一样的功能,如图:

    在VB的DataGrid和MSFlexGrid控件中都没有这个功能。在网上找了一些类,大多用VC编写的,有些太复杂了,而且使用时容易出问题。自己又不太熟悉DLL的编写,不好调试。最后想了个办法,在DataGrid上使用Combo Box控件,基本上可以实现类似的功能。
    在窗体上添加一个DataGrid控件,一个Combo Box控件。Combo Box控件默认设为为不可见。然后在DataGrid控件的MouseUp事件中加入代码,作用是当用户点击表格时,判断鼠标所点击的行和列。如果是要使用下拉功能的列,则在所点击的单元格的位置显示Combo Box控件(记得在窗体上放置时要将Combo Box置于DataGrid的上层)。这就完成了显示功能,看起来像模像样了,但要它真正的起作用,还要将Combo Box(CB_INEXP)中用户所选择的数据传递到DataGrid(DG_Record)当前的单元格。

    这样只是显示功能,要下拉控件真正的起作用,还需将用户在下列组合框中选择的数据传递到DataGrid当前的单元格(即Combo Box所在单元格)中去。在Combo Box(CB_INEXP)的单击事件中加入如下代码:

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多