我使用了MSHFlexGrid控件,在首次初始化时为其DataSource属性设置了adodcA,并把adodcA的Dataset属性设为m_rs(AdoDB.Recordset类型),一切正常,但是当我使用m_rs重新检索数据后,adodcA能察觉到数据改变了,但MSHFlexGrid却没有发生改变。我尝试在数据集改变后使用如下语句 Set MSHFlexGrid.Datasource=adodcA
这下MSHFlexGrid可以显示新的数据了,但出现了一个问题:鼠标不能选定控件的行了,并且当前选定行也不会高亮显示!如何解决这个问题?望高手不吝赐教!!!!

解决方案 »

  1.   

    MSHFlexGrid1.Refresh,
    刷新一下就行了。 
    但我建议你还是不要用绑定, 
    但笨重,在控制方面不灵活。 
    你可以用记录集。
    Set MSHFlexGrid1.DataSource = 记录集。
      

  2.   

    set mshflexgrid.datasource=m_rs
    mshflexgrid的行属性可在mshflexgrid的属性中设置
      

  3.   

    最重要的问题是:
    如果m_rs没有数据,则mshflexgrid以后再也不会响应鼠标动作,也就是说即使以后新增了数据,鼠标不能选定控件的行了。
    我使用了refresh,不管用。????
    救命!!!!!
    在线等待...
      

  4.   

    mshflexgrid的数据绑定功能非常强大而且好用,给VB程序员减少了不少工作量,但是存在这样一个问题:数据集为空时,mshflexgrid将工作不正常,具体是不响应鼠标操作,高亮时也不正常。如何解决这个问题?希望有经验的朋友不吝赐教!!!!!
      

  5.   

    当记录集对象更新时,你也同时更新网格控件。................'更新记录集的代码省略
    set mshflexgrid1.datasource=rs
    mshflexgrid1.refresh
      

  6.   

    set mshflexgrid1.datasource=nothing
    set mshflexgrid1.datasource=rs
      

  7.   

    我的mshflexgrid非常大,总不能让用户每修改一条记录就复原一次吧?重新设置datasource属性似乎不太好,还有其他方法吗?