急寻点击标头排序的控件 必须在点击时,标头出现小三角箭头的那种,类似outlook右侧的那个控件但必须要有列和行的线!最好带个源码例子发到我邮箱。。感谢感谢[email protected] 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用ListView就行(注意是MicroSoft Windows Common Controls 6.0)至于三角图标:你在列表头添加图标就行 Sorted 属性(ListView 控件) 返回或设置确定集合中的项目是否排序的值。语法object.Sorted [= boolean]Sorted 属性的语法包含下面部分:部分 描述 object 对象表达式,其值是“应用于”列表中的对象。 boolean 指定 ListItem 对象是否排序的布尔表达式,如“设置值”中所描述。 设置值boolean 的设置值为:设置值 描述 True 项目按字母顺序排序。对于ListView控件,根据 SortOrder 属性,项目按字母顺序排序。 False 列表项目不排序。 说明对于 ListView 控件,欲使 SortOrder 和 SortKey 属性的设置值生效,必须将 Sorted 属性设置为 True。每当 ListItem 坐标变更时 Sorted 属性将设置为 False。 SortKey 属性(ListView 控件) 返回或设置一个值,此值决定 ListView 控件中的 ListItem 对象如何排序。语法object.SortKey [= integer]SortKey 属性的语法包含下面部分:部分 描述 object 对象表达式,其值是 ListView 控件。 integer 指定排序关键字的整数,如“设置值”中所描述。 设置值integer 的设置值为:设置值 描述 0 使用 ListItem 对象的 Text 属性排序。 > 1 使用子项目排序,子项目的集合索引在此指定。 说明:在改变发生前,Sorted 属性必须设置为 True。通常希望单击列标头时将列表排序。所以,ColumnClick 事件通常包括 SortKey 属性并使用单击的列将列表排序,下面的示例演示了这一点:Private Sub ListView1_ColumnClick (ByVal ColumnHeader as ColumnHeader) ListView1.SortKey=ColumnHeader.Index-1End Sub SortOrder 属性(ListView 控件) 返回或设置一个值,此值决定 ListView 控件中的 ListItem 对象以升序或降序排序。语法object.SortOrder [= integer]SortOrder 属性的语法包含下面部分:部分 描述 object 对象表达式,其值是 ListView 控件。 integer 指定排序类型的整数,如“设置值”中所描述。 设置值integer 的设置值为:常数 值 描述 lvwAscending 0 (缺省)升序。从字母表首部 (A-Z) 或最早的日期开始排序。数字以字符串的形式排序,第一个数位决定排序的起始位置,其后的数位决定子排序。 LvwDescending 1 降序。从字母表尾部 (Z-A) 或最晚的日期开始排序。数字以字符串的形式排序,第一个数位决定排序的起始位置,其后的数位决定子排序。 说明根据 SortOrder 指定的顺序将列表排序之前,Sorted 属性必须设置为 True。 SortKey、SortOrder、Sorted 属性、ColumnClick 事件示例本示例将三个 ColumnHeader 对象添加到 ListView 控件中,并将 Biblio.mdb 数据库的 Publishers 记录植入控件。一个由两个 OptionButton 控件组成的数组提供将记录排序的两个选项。单击 ColumnHeader 将根据由 OptionButtons 决定的 SortOrder 属性将 ListView 控件排序。要试用此例,请将一个 ListView 和一个由 OptionButton 控件组成的控件数组放置在窗体上,并将代码粘贴到窗体的声明部分。运行示例并单击 ColumnHeaders 进行排序,单击 OptionButton 来切换 SortOrder 属性。注意 必须使用“工具”菜单的“引用”命令添加 Microsoft DAO 3.5 对象库的引用,否则示例无法运行。Private Sub Option1_Click(Index as Integer) '这些 OptionButtons 提供两种选择:升序(索引 0), '和降序(索引 1)。请单击其一 '为 ListView 控件设置 SortOrder。 ListView1.SortOrder = Index ListView1.Sorted = True '将列表排序。End SubPrivate Sub Form_Load() '为 ColumnHeader 对象创建对象变量。 Dim clmX As ColumnHeader '添加 ColumnHeaders。列宽度等于控件宽度 '除以 ColumnHeader 对象的数目。 Set clmX = ListView1.ColumnHeaders. _ Add(, , "Company", ListView1.Width / 3) Set clmX = ListView1.ColumnHeaders. _ Add(, , "Address", ListView1.Width / 3) Set clmX = ListView1.ColumnHeaders. _ Add(, , "Phone", ListView1.Width / 3) ListView1.BorderStyle = ccFixedSingle '设置 BorderStyle 属性。 ListView1.View = lvwReport '设置 View 属性为报表型。 '用 SortOrder 选项标注 OptionButton 控件。 Option1(0).Caption = "Ascending (A-Z)" Option1(1).Caption = "Descending (Z-A)" ListView1.SortOrder = lvwAscending ' Sort ascending. '为数据访问对象创建对象变量。 Dim myDb As Database, myRs As Recordset '设置数据库为 BIBLIO.MDB 数据库。 Set myDb = DBEngine.Workspaces(0).OpenDatabase("BIBLIO.MDB") '设置 recordset 为 Publishers 表。 Set myRs = myDb.OpenRecordset("Publishers", dbOpenDynaset) '为添加 ListItem 对象创建变量。 Dim itmX As ListItem '若当前记录不是最后一条记录,则添加 ListItem 对象。 'ListItem 对象的文本使用 Name 字段。 'ListItem 对象的 subitem(1) 使用 Address 字段。 'ListItem 对象的 subitem(2) 使用 Phone 字段。 While Not myRs.EOF Set itmX = ListView1.ListItems.Add(, , CStr(myRs!Name)) '若 Address 字段不为空,则设置 subitem 1 为此字段。 If Not IsNull(myRs!Address) Then itmX.SubItems(1) = CStr(myRs!Address) 'Address 字段。 End If '若 Phone 字段不为空,则设置 subitem 2 为此字段。 If Not IsNull(myRs!Telephone) Then itmX.SubItems(2) = myRs!Telephone 'Phone 字段。 End If myRs.MoveNext '移动到下一条记录。 WendEnd SubPrivate Sub ListView1_ColumnClick(ByVal ColumnHeader As ColumnHeader) '单击 ColumnHeader 对象时,将根据 '那一列的子项目把 ListView 控件排序。 '设置 SortKey 为 ColumnHeader 的索引值减 1 ListView1.SortKey = ColumnHeader.Index - 1 '设置 Sorted 为 True 以将列表排序。 ListView1.Sorted = TrueEnd Sub 用ListView就行http://member.netease.com/~kenj/download.htmListView 的 API 效果演示利用 API 选择路径;取得文件的关联图标; ListView 的排序和过滤; ListView 的表头动态调整; ListView 的整行选择; ListView 的网格功能; ListView 的平面表头; 改变ListView 表头字体; 设置ListView 表头图标; 改变ListView 的选择模式。 kenjLV1.zip (10K) 发个源码吧。只要光ListView的。要有点击时,标头出现小三角箭头的那种。代码简洁的。不要参有其它功能的。。(我因为我才学,很难看懂,要有简单的源码调试最好。)所以有容易看懂的发一个吧。谢谢。。 请教串口通信校验字如何计算? 又是一个内存溢出的问题 ascii问题! 在文本框中输入一个日期,怎样把它变为相应的日期型? 报表中图片的改变问题? vb调用fortran(字符串传递) 晕啊,是什么原因?????? 如何用vb调用存储过程?谢谢大家了 怎样在文本框内只输入数字而不输入字母? 有她的日子就是快乐的!! 两个mdb数据库表间的记录集插入和更新操作 把所有的分给那些让我尊敬的人!这个问题很郁闷!欢迎高手!在线等待!
至于三角图标:你在列表头添加图标就行
Sorted 属性(ListView 控件)
返回或设置确定集合中的项目是否排序的值。语法object.Sorted [= boolean]Sorted 属性的语法包含下面部分:部分 描述
object 对象表达式,其值是“应用于”列表中的对象。
boolean 指定 ListItem 对象是否排序的布尔表达式,如“设置值”中所描述。
设置值boolean 的设置值为:设置值 描述
True 项目按字母顺序排序。对于ListView控件,根据 SortOrder 属性,项目按字母顺序排序。
False 列表项目不排序。
说明对于 ListView 控件,欲使 SortOrder 和 SortKey 属性的设置值生效,必须将 Sorted 属性设置为 True。每当 ListItem 坐标变更时 Sorted 属性将设置为 False。
SortKey 属性(ListView 控件)
返回或设置一个值,此值决定 ListView 控件中的 ListItem 对象如何排序。语法object.SortKey [= integer]SortKey 属性的语法包含下面部分:部分 描述
object 对象表达式,其值是 ListView 控件。
integer 指定排序关键字的整数,如“设置值”中所描述。
设置值integer 的设置值为:设置值 描述
0 使用 ListItem 对象的 Text 属性排序。
> 1 使用子项目排序,子项目的集合索引在此指定。
说明:在改变发生前,Sorted 属性必须设置为 True。通常希望单击列标头时将列表排序。所以,ColumnClick 事件通常包括 SortKey 属性并使用单击的列将列表排序,下面的示例演示了这一点:Private Sub ListView1_ColumnClick (ByVal ColumnHeader as ColumnHeader)
ListView1.SortKey=ColumnHeader.Index-1
End Sub
SortOrder 属性(ListView 控件)
返回或设置一个值,此值决定 ListView 控件中的 ListItem 对象以升序或降序排序。语法object.SortOrder [= integer]SortOrder 属性的语法包含下面部分:部分 描述
object 对象表达式,其值是 ListView 控件。
integer 指定排序类型的整数,如“设置值”中所描述。
设置值integer 的设置值为:常数 值 描述
lvwAscending 0 (缺省)升序。从字母表首部 (A-Z) 或最早的日期开始排序。数字以字符串的形式排序,第一个数位决定排序的起始位置,其后的数位决定子排序。
LvwDescending 1 降序。从字母表尾部 (Z-A) 或最晚的日期开始排序。数字以字符串的形式排序,第一个数位决定排序的起始位置,其后的数位决定子排序。
说明根据 SortOrder 指定的顺序将列表排序之前,Sorted 属性必须设置为 True。
本示例将三个 ColumnHeader 对象添加到 ListView 控件中,并将 Biblio.mdb 数据库的 Publishers 记录植入控件。一个由两个 OptionButton 控件组成的数组提供将记录排序的两个选项。单击 ColumnHeader 将根据由 OptionButtons 决定的 SortOrder 属性将 ListView 控件排序。要试用此例,请将一个 ListView 和一个由 OptionButton 控件组成的控件数组放置在窗体上,并将代码粘贴到窗体的声明部分。运行示例并单击 ColumnHeaders 进行排序,单击 OptionButton 来切换 SortOrder 属性。注意 必须使用“工具”菜单的“引用”命令添加 Microsoft DAO 3.5 对象库的引用,否则示例无法运行。Private Sub Option1_Click(Index as Integer)
'这些 OptionButtons 提供两种选择:升序(索引 0),
'和降序(索引 1)。请单击其一
'为 ListView 控件设置 SortOrder。
ListView1.SortOrder = Index
ListView1.Sorted = True '将列表排序。
End SubPrivate Sub Form_Load()
'为 ColumnHeader 对象创建对象变量。
Dim clmX As ColumnHeader
'添加 ColumnHeaders。列宽度等于控件宽度
'除以 ColumnHeader 对象的数目。
Set clmX = ListView1.ColumnHeaders. _
Add(, , "Company", ListView1.Width / 3)
Set clmX = ListView1.ColumnHeaders. _
Add(, , "Address", ListView1.Width / 3)
Set clmX = ListView1.ColumnHeaders. _
Add(, , "Phone", ListView1.Width / 3) ListView1.BorderStyle = ccFixedSingle '设置 BorderStyle 属性。
ListView1.View = lvwReport '设置 View 属性为报表型。 '用 SortOrder 选项标注 OptionButton 控件。
Option1(0).Caption = "Ascending (A-Z)"
Option1(1).Caption = "Descending (Z-A)"
ListView1.SortOrder = lvwAscending ' Sort ascending. '为数据访问对象创建对象变量。
Dim myDb As Database, myRs As Recordset
'设置数据库为 BIBLIO.MDB 数据库。
Set myDb = DBEngine.Workspaces(0).OpenDatabase("BIBLIO.MDB")
'设置 recordset 为 Publishers 表。
Set myRs = myDb.OpenRecordset("Publishers", dbOpenDynaset)
'为添加 ListItem 对象创建变量。
Dim itmX As ListItem '若当前记录不是最后一条记录,则添加 ListItem 对象。
'ListItem 对象的文本使用 Name 字段。
'ListItem 对象的 subitem(1) 使用 Address 字段。
'ListItem 对象的 subitem(2) 使用 Phone 字段。 While Not myRs.EOF
Set itmX = ListView1.ListItems.Add(, , CStr(myRs!Name)) '若 Address 字段不为空,则设置 subitem 1 为此字段。
If Not IsNull(myRs!Address) Then
itmX.SubItems(1) = CStr(myRs!Address) 'Address 字段。
End If '若 Phone 字段不为空,则设置 subitem 2 为此字段。
If Not IsNull(myRs!Telephone) Then
itmX.SubItems(2) = myRs!Telephone 'Phone 字段。
End If myRs.MoveNext '移动到下一条记录。
Wend
End SubPrivate Sub ListView1_ColumnClick(ByVal ColumnHeader As ColumnHeader)
'单击 ColumnHeader 对象时,将根据
'那一列的子项目把 ListView 控件排序。
'设置 SortKey 为 ColumnHeader 的索引值减 1
ListView1.SortKey = ColumnHeader.Index - 1
'设置 Sorted 为 True 以将列表排序。
ListView1.Sorted = True
End Sub
http://member.netease.com/~kenj/download.htm
ListView 的 API 效果演示
利用 API 选择路径;取得文件的关联图标; ListView 的排序和过滤; ListView 的表头动态调整; ListView 的整行选择; ListView 的网格功能; ListView 的平面表头; 改变ListView 表头字体; 设置ListView 表头图标; 改变ListView 的选择模式。 kenjLV1.zip (10K)