古怪的MSHFlexGrid显示数据问题, 不知我是否混头了,怎么也不知道错在哪里,此代码程序刚启动时,此代码运行时MSHFlexGrid显示正确,但用其他子程序里加进新记录后,再用此代码UPDATE刷新MSHFlexGrid就死活都不能正确显示,总显示原来没有增加记录前的东西。除非程序重新启动才显示正确。高手也许一看就能找到其中问题。
代码如下:
PriCstr = "select * from XXXXX"
With HFGrid1
.Redraw = False
.Rows = 2
.Cols = 3
.Row = 0
.RowHeight(.Row) = 300
.Col = 0
.FixedAlignment(.Col) = 3
.ColWidth(.Col) = 820
.Text = "AAAAA"
.Col = 1
.FixedAlignment(.Col) = 3
.ColWidth(.Col) = 1300
.Text = "BBBBB"
.Col = 2
.FixedAlignment(.Col) = 3
.ColWidth(.Col) = 950
.Text = "CCCCC"
Set PriReset = New ADODB.Recordset
Set PriReset = ADOcon.Execute(PriCstr)
Do While Not PriReset.EOF
If Not PriReset.EOF Then
.AddItem ""
.TextMatrix(.Row, 0) = PriReset.Fields(0).Value
.TextMatrix(.Row, 1) = PriReset.Fields(1).Value
.TextMatrix(.Row, 2) = PriReset.Fields(2).Value
.Row = .Row + 1
End If
PriReset.MoveNext
Loop
PriReset.Close
.RemoveItem (.Rows - 1)
HFGrid1.Redraw = True
End With
End Sub
代码如下:
PriCstr = "select * from XXXXX"
With HFGrid1
.Redraw = False
.Rows = 2
.Cols = 3
.Row = 0
.RowHeight(.Row) = 300
.Col = 0
.FixedAlignment(.Col) = 3
.ColWidth(.Col) = 820
.Text = "AAAAA"
.Col = 1
.FixedAlignment(.Col) = 3
.ColWidth(.Col) = 1300
.Text = "BBBBB"
.Col = 2
.FixedAlignment(.Col) = 3
.ColWidth(.Col) = 950
.Text = "CCCCC"
Set PriReset = New ADODB.Recordset
Set PriReset = ADOcon.Execute(PriCstr)
Do While Not PriReset.EOF
If Not PriReset.EOF Then
.AddItem ""
.TextMatrix(.Row, 0) = PriReset.Fields(0).Value
.TextMatrix(.Row, 1) = PriReset.Fields(1).Value
.TextMatrix(.Row, 2) = PriReset.Fields(2).Value
.Row = .Row + 1
End If
PriReset.MoveNext
Loop
PriReset.Close
.RemoveItem (.Rows - 1)
HFGrid1.Redraw = True
End With
End Sub
解决方案 »
- webbrowser和xmlhttp的是不是登陆一个就等于都登陆了呢?
- 无聊 Confusing Chinese Names
- 光標移動問題—在線等答
- 各位大侠:VB调用C中的DLL文件,DLL文件包含指针。
- image是否可以设置类似按钮的default属性?
- 请教我用DataReport为什么只显示一条记录啊,怎么样才能显示一个表的所有的记录??
- 文本框中可不可以限制字符的类型和字符的长度?谢谢
- 看了其他贴还不明VB和SQL的打包问题,在线,请进!!!!
- VB中有没有这样的函数,能够判断一个变量在某个范围内.
- 怎样对IE菜单工具栏进行改进?
- 如何将 excel 的 vba 程序转化成 vb 程序?
- 一个学校朋友要交一份vb的作业(人员管理的),那位兄弟有这方面的源码?
Set HFGrid1.DataSource=Nothing
HFGrid1.ClearStuct
然后再执行上面的程序,看看可不可以。
单步调试时 好像已经给最后一行的.TextMatrix(.Row, 1)赋了值,可就是不显示该行!