标题:【求助】关于vsflexGrid的奇怪现象
只看楼主
frank_tao78
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:69
专家分:143
注 册:2010-1-11
结帖率:100%
已结贴  问题点数:20 回复次数:6 
【求助】关于vsflexGrid的奇怪现象
我在窗体加了一个vsFlexGrid控件,想按照第1列到最后一列,间隔显示颜色,间隔为7,也就是
第2列到第8列(col=1~col=7)为白色
第9列到第15列(col=8~col=14)为蓝色
God,竟然按这段写下来,中间都对的,而第一列到第四列一种颜色,后面间隔都正确,高手们给看看,什么问题哦?

Private Sub Form_Load()
sql = "select * from P_SJW"
TempRsSjw.Open Trim(sql), conn, 3, 2
With sjwGrid
    .DataMode = flexDMBound
    Set .DataSource = TempRsSjw
    .FrozenCols = 1
    .Editable = flexEDKbdMouse
    .ColAlignment(-1) = flexAlignCenterCenter
End With

Dim i As Long
Dim j As Long
Dim k As Long
'----------------------------------------
'定义第一列的颜色
'sjwGrid.Col = 0
'For i = 0 To sjwGrid.Rows - 1
'    sjwGrid.Row = i
'    sjwGrid.CellBackColor = &H8000000F
'Next
'----------------------------------------
For i = sjwGrid.Cols - 1 To 1 Step -1
    k = CLng((i-1) / 7)
    sjwGrid.Col = i
    For j = 1 To sjwGrid.Rows - 1
        sjwGrid.Row = j
        If k Mod 2 = 0 Then
            sjwGrid.CellBackColor = vbWhite
        Else
            sjwGrid.CellBackColor = &H80000013
        End If
    Next
Next
End Sub

忘了放个测试文件上来,大家看看
test.rar (11.21 KB)


如果打开出错,请大家把vsflexgrid.ocx注册一下,谢谢

[ 本帖最后由 frank_tao78 于 2010-7-22 15:52 编辑 ]
搜索更多相关主题的帖子: vsflexGrid 现象 
2010-07-22 15:38
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
得分:0 
总列数?

无知
2010-07-22 15:57
frank_tao78
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:69
专家分:143
注 册:2010-1-11
得分:0 
测试文件总列数一共是84列
第一列col(0)是“姓名”
第二列开始到最后一列cols(83),是12个系列*7件物品/系列

奇怪了,我隔行、或者隔列都能正常
2010-07-22 16:03
wei855198
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:228
专家分:944
注 册:2009-4-24
得分:15 
改k = CLng((i-1) / 7)
为:k=Clng((i-1)\7)即可。

护肤小店 http://mina2010.
靓装小店 http://liangliyizu2010.
2010-07-22 16:13
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
得分:5 
Private Sub Form_Load()
sql = "select * from P_SJW"
TempRsSjw.Open Trim(sql), conn, 3, 2
With sjwGrid
    .DataMode = flexDMBound
    Set .DataSource = TempRsSjw
    .FrozenCols = 1
    .Editable = flexEDKbdMouse
    .ColAlignment(-1) = flexAlignCenterCenter
End With

Dim i As Long
Dim j As Long
Dim k As Long
'----------------------------------------
'定义第一列的颜色
'sjwGrid.Col = 0
'For i = 0 To sjwGrid.Rows - 1
'    sjwGrid.Row = i
'    sjwGrid.CellBackColor = &H8000000F
'Next
'----------------------------------------
For i =  1 to sjwGrid.Cols - 1  Step 1
    k = CLng((i-1) / 7)
    sjwGrid.Col = i
    For j = 1 To sjwGrid.Rows - 1
        sjwGrid.Row = j
        If k Mod 2 = 0 Then
            sjwGrid.CellBackColor = vbWhite
        Else
            sjwGrid.CellBackColor = &H80000013
        End If
    Next
Next
End Sub

无知
2010-07-22 16:14
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
得分:0 
回复 楼主 frank_tao78
vsflexgrid.ocx附件里没有。

无知
2010-07-22 16:16
frank_tao78
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:69
专家分:143
注 册:2010-1-11
得分:0 
问题解决
谢谢wei855198,真的是这样,我要baidu一下这个区别,基本功不扎实
也谢谢热心的Awei855198
2010-07-22 16:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-313731-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023148 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved