一个文本框,一个查询按钮,mshflexgrid显示查询出来的内容
 
   现象: 如果第1次查询时没有记录,第2次查询时有记录,并显示在mshflexgrid时,这时用鼠标点mshflexgrid单元格时,mshflexgrid不能获得焦点,一点反应都没有,(总之只要有一次查询没有记录,后继查询即便有记录出来,点击mshflexgrid的单元格都没反应),是怎么回事?

解决方案 »

  1.   

    这个问题,有人说是MSHflexgrid的BUG,我也认为应该是BUG
    解决办法之一,就是查询数据库后先不要急着绑定
    先判断一下记录集是否为空
    空,则不绑定,调用另外的代码把MSHflexgrid清空
    至于清空成什么样子,就看个人爱好了
      

  2.   


     ChouQin666() ( ) 信誉:100  2007-9-16 22:33:54  得分: 0  
     
     
       
    没发现你说的问题,但是说实在话,这个问题真的很无关紧要。
    ---------------------
    你的观点,并不是一个严谨的程序员的作风.  ===============
    那么就请你就此问题证明一下严谨好了
      

  3.   

    查询后,先判断rs.eof,如果为空,
    MSHFlexGrid1.clean,
    MSHFlexGrid1.rows=2
    随便写点提示,可以不写
    不要绑定Recordset
      

  4.   

    楼主是直接用数据源填充GRID的吧。
    改成代码填充。数据源填充的话,不可控因素太多,容易出现很多“无厘头”问题,并且很难找出根本原因来解决。
      

  5.   

    楼主是直接用数据源填充GRID的吧。
    改成代码填充。数据源填充的话,不可控因素太多,容易出现很多“无厘头”问题,并且很难找出根本原因来解决。
      

  6.   

    我正缺分, 我来回答绑定语句后面,加下面语句就行
    If MSHFlexGrid.Rows>1 Then MSHFlexGrid.TopRow=1
    快给分,快给分!!!!
      

  7.   

    不用看了,当绑定的记录集为空执行过后,再绑定新记录集时,就会出现选择的问题在绑定的语句下面加上
    If MSHFlexGrid.Rows>1 Then MSHFlexGrid.TopRow=1绝对行的,N年以前就遇到这个问题了