请教一个数据控件的问题
请问VB有没有什么控件可以这样显示数据库的内容:
1 2 3 4
a b c d
e f g h (这一行数据用红色,其他的用黑色)
l m n o
也就是说可以对某条数据(有特殊标识)进行特殊显示。
不知有没有这样的控件,如果有,请问一下应该怎样进行设置,谢谢!!!
问题点数:20、回复次数:11Top
1 楼wumylove1234(毁于随)回复于 2004-05-02 20:36:35 得分 0
哦.表格控件可以.设一下单元格色即可.Top
2 楼whoam(冰山)回复于 2004-05-03 10:28:09 得分 0
但是我用LISTVIEW或MSFlexGrid都试过了,一旦我设了某一格颜色时,就把所有的数据的颜色都改变了,没有办法实现某一条数据的特殊显示呀,请问应该如何进行设置才能让它特殊显示呢?
请各位老大帮帮忙!Top
3 楼lovebeethoven(小佛-寻找幸福)回复于 2004-05-03 18:52:48 得分 0
gzTop
4 楼daisy8675(莫依 沉迷)回复于 2004-05-03 19:57:19 得分 0
不說的顏色是 背景還是字體?Top
5 楼yenight(抵制日货 利国利民 能不买日货,尽量不买)回复于 2004-05-04 12:03:09 得分 3
Private Sub MSHFlexGrid1_Click()
With Me.MSHFlexGrid1
.CellBackColor = vbBlack
.CellForeColor = vbGreen
End With
End Sub
'运行一下看一看!!知道了吗>?Top
6 楼artoksxb(进取人生)回复于 2004-05-05 15:35:19 得分 1
使用TDBgrid控件吧
不过呢tdbgrid1.fetchrowstyle=true
然后调用TDBgrid_fetchRowstyle事件,中设置Top
7 楼artoksxb(进取人生)回复于 2004-05-05 15:38:06 得分 0
还有上述那个事件中
if 条件 then
RowStyle.ForeColor = vbRed
end if
Top
8 楼lovebeethoven(小佛-寻找幸福)回复于 2004-05-06 09:30:19 得分 10
在窗体上建一个MSHFlexGrid控件,名称叫ms
Option Explicit
Private Sub Form_Load()
Dim i As Integer
ms.Rows = 5
ms.Cols = 5
ms.Row = 3
ms.Col = 1
i = 1
For i = 1 To 4
With ms
.CellBackColor = vbBlack
.CellBackColor = vbGreen
End With
ms.Col = i
Next i
End SubTop
9 楼whoam(冰山)回复于 2004-05-06 10:51:44 得分 0
谢谢小佛兄了,但不知用ListView是不是也可以实现这个功能呢?
不好意思,因为我想用一下listview的自动排序功能,当然,MSFLEXGRID如果能自动排序的话,当然也可以了。
先谢谢了!Top
10 楼lovebeethoven(小佛-寻找幸福)回复于 2004-05-07 09:36:58 得分 1
MSHFlexgrid有自动排序功能,请设置sort属性,自代8种排序方式,1还可以自定义Top
11 楼lovebeethoven(小佛-寻找幸福)回复于 2004-05-07 09:48:43 得分 5
MSDN上的例子
下面的示例使用 Sort 和 TextMatrix 属性。它根据一个 ComboBox 控件的值执行一个 MSHFlexGrid 排序。要使用该示例,在窗体中放置一个 MSHFlexGrid 控件和一个 ComboBox 控件。把下面的代码粘贴到 Declarations 节,然后按 F5 键。
注意 如果正在使用 MSFlexGrid,用“MSFlexGrid1”代替“MSHFlexGrid1”。
Private Sub Combo1_Click()
' 根据排序方法选择列。
Select Case Combo1.ListIndex
Case 0 To 2
MSHFlexGrid1.Col =1
Case 3 To 4
MSHFlexGrid1.Col =2
Case 4 To 8
MSHFlexGrid1.Col =1
End Select
' 根据 Combo1.ListIndex 排序。
MSHFlexGrid1.Sort =Combo1.ListIndex
End Sub
Private Sub Form_Load()
Dim i As Integer
' 用随机数据填充 MSHFlexGrid。
MSHFlexGrid1.Cols =3 ' 创建三列。
For i =1 To 11 ' 添加十项。
MSHFlexGrid1.AddItem ""
MSHFlexGrid1.Col =2
MSHFlexGrid1.TextMatrix(i, 1) =SomeName(i)
MSHFlexGrid1.TextMatrix(i, 2) =Rnd()
Next i
' 用排序选择填充 combo 框。
With Combo1
.AddItem "flexSortNone" ' 0
.AddItem "flexSortGenericAscending" '1
.AddItem "flexSortGenericDescending" '2
.AddItem "flexSortNumericAscending" '3
.AddItem "flexSortNumericDescending" '4
.AddItem "flexSortStringNoCaseAsending" '5
.AddItem "flexSortNoCaseDescending" '6
.AddItem "flexSortStringAscending" '7
.AddItem "flexSortStringDescending" '8
.ListIndex =0
End With
End Sub
Private Function SomeName(i As Integer) As String
Select Case i
Case 1
SomeName ="Ann"
Case 2
SomeName ="Glenn"
Case 3
SomeName ="Sid"
Case 4
SomeName ="Anton"
Case 5
SomeName ="Hoagie"
Case 6
SomeName ="Traut 'Trane"
Case 7
SomeName ="MereD Wah"
Case 8
SomeName ="Kemp"
Case 9
SomeName ="Sandy"
Case 10
SomeName ="Lien"
Case 11
SomeName ="Randy"
End Select
End Function
Top




