一个窗体上有一个MSHFlexGrid1和一个查询条件,假设我先设置一个查询条件查询出15条记录在MSHFlexGrid1中显示出来了,当我重新选择查询条件时没有符合条件的记录,则MSHFlexGrid1应该为空,但是现在情况是MSHFlexGrid1中还有15行空白,虽然什么数据都没有,但是我不想让这些空白行出现,怎么解决??

解决方案 »

  1.   

    MSHFlexGrid1是否没有任何数据绑定,如果没有,rows属性控制行数,改变一下
      

  2.   

    If AdoRs.State = adStateOpen Then
    AdoRs.Close
    End If
    ......
        If AdoRs.RecordCount > 0 Then
            i = 0
            With MSHFlexGrid1
                .Rows = AdoRs.RecordCount + 1
                .Cols = AdoRs.Fields.Count + 1
                
                While Not AdoRs.EOF
                    i = i + 1
                    .Row = i
                    .Col = 0
                    .Text = i
                    For j = 1 To AdoRs.Fields.Count
                        .Col = j
                        If IsNull(Trim(AdoRs.Fields(j - 1))) = True Or Trim(AdoRs.Fields(j - 1)) = 0 Then
                        .Text = ""
                        Else
                        .Text = Trim(AdoRs.Fields(j - 1))
                        End If
                    Next j
                    AdoRs.MoveNext
                Wend
            End With
            MSHFlexGrid1.Redraw = True
        End If这样绑定的
      

  3.   

    将这两句挪一下位置试试
    .Rows = AdoRs.RecordCount + 1
    .Cols = AdoRs.Fields.Count + 1
    挪到
    If AdoRs.RecordCount > 0 Then
    之前