我做的一个数据库程序,在窗体中使用了MSFlexGrid控件,当数据在该控件中显示的时候有些字段的数据不能完全显示,必须手动改变列宽才能显示,请问如何解决?
另外,我设置了一个窗体,用以显示在MSFlexGrid中选定行的数据,代码如下,请问如何实现点击该显示窗体中的“上一条”按钮以显示MSFlexGrid中的下一条记录?在“前一条”按钮的Click事件中设置mrc.MovePrevious不起作用,如果将Trim(frmViewcar.MSFlexGrid1.TextMatrix(intCount, 0))语句中的“intCount”改为“intCount - 1”只能实现点击一次按钮的时候显示上一条,再点击的时候则不会显示再前一条记录。(同样有“下一条”,“第一条”,“末一条”的问题。)
Private Sub Form_Load()
    Dim txtSQL As String
    Dim mrc As ADODB.Recordset
    Dim MsgText As String
        
        intCount = frmViewcar.MSFlexGrid1.Row
        txtSQL = "select * from car where 车辆牌号='" & _
                 Trim(frmViewcar.MSFlexGrid1.TextMatrix(intCount, 0)) & "'"
        
        Set mrc = ExecuteSQL(txtSQL, MsgText)
        
        Label13.Caption = mrc.Fields(0)
        Label14.Caption = mrc.Fields(1)
        Label15.Caption = mrc.Fields(2)
        Label16.Caption = mrc.Fields(3)
        Label17.Caption = mrc.Fields(4)
        Label18.Caption = mrc.Fields(5)
        Label19.Caption = mrc.Fields(6)
        Label20.Caption = mrc.Fields(7)
        Label21.Caption = mrc.Fields(8)
        Label22.Caption = mrc.Fields(9)
        Label23.Caption = mrc.Fields(10)
        Label24.Caption = mrc.Fields(11)
End Sub

解决方案 »

  1.   

    你可以自己设置宽度合适的列宽
    Grid1.ColWidth(0) = 1200
    Grid1.ColWidth(1) = 1200
    ...
      

  2.   

    不好意思,是我没表达清楚。我再重新说一下我的问题:1.我这个数据不能完全显示不是列宽的问题,比如有一个“性别”字段,列宽应该是可以完全显示出来的,但就是有的行可以显示有的行不能显示。是不是可以设置一下对齐属性什么的?好象MSFlexGrid也有个StringFormat属性,是不是和那个有什么关系?2.这个问题是这样的,在A窗体里面有一个MSFlexGrid控件,用以显示数据库中的全部数据,然后点击其中的某一行出现B窗体,B窗体中有几个标签分别对应MSFlexGrid的各字段,以显示选定行的数据。B窗体中另有“第一条”、“前一条”、“后一条”、“末一条”等四个按钮,点击分别显示在MSFlexGrid中的第一条记录、选定行的前一条记录、后一条和末行的记录。
    请问怎么实现?谢谢!