单击ListView 列表头实现排序
2007-08-13 13:54
357 查看
单击ListView 列表头实现排序
ListView 控件有排序的功能!是一段代码实现排序的功能。并在列表头加上了排序的符号
代码如下:
Dim Li_i As Integer
Dim Li_Count As Integer
Dim li_len As Integer
Dim ls_num As String '总数量
Dim ls_amount As String '总金额
Dim ls_return As String '毛利
If lstmx.ListItems.Count = 0 Then Exit Sub ‘没有数据退出
'将合计列中的数据取出来
ls_num = lstmx.ListItems.Item(lstmx.ListItems.Count).SubItems(8)
ls_amount = lstmx.ListItems.Item(lstmx.ListItems.Count).SubItems(10)
ls_return = lstmx.ListItems.Item(lstmx.ListItems.Count).SubItems(11)
lstmx.ListItems.Remove lstmx.ListItems.Count '移出合计列。使合计列不参加排序
lstmx.Sorted = gs_bl_True'排序设为真
Li_Count = lstmx.ColumnHeaders.Count
For Li_i = 1 To Li_Count
li_len = InStr(Trim(lstmx.ColumnHeaders.Item(Li_i).Text), "△")
If li_len > 0 Then _
lstmx.ColumnHeaders.Item(Li_i).Text = _
Left(lstmx.ColumnHeaders.Item(Li_i).Text, li_len - 1)
li_len = InStr(Trim(lstmx.ColumnHeaders.Item(Li_i).Text), "▽")
If li_len > 0 Then _
lstmx.ColumnHeaders.Item(Li_i).Text = _
Left(lstmx.ColumnHeaders.Item(Li_i).Text, li_len - 1)
li_len = 0
Next
lstmx.SortKey = ColumnHeader.Index - 1
lstmx.SortOrder = Abs(Not lstmx.SortOrder = 1)
If lstmx.SortOrder = 0 Then '升序设为假
ColumnHeader.Text = ColumnHeader.Text & "△"
Else '降序
ColumnHeader.Text = ColumnHeader.Text & "▽"
End If
lstmx.Sorted = gs_bl_False '排序为假
Li_Count = lstmx.ListItems.Count
lstmx.ListItems.Add , , "合计:" '添加合计列
lstmx.ListItems.Item(Li_Count + 1).Bold = gs_bl_True
lstmx.ListItems.Item(Li_Count + 1).ForeColor = vbRed
lstmx.ListItems.Item(Li_Count + 1).SubItems(8) = ls_num
lstmx.ListItems.Item(Li_Count + 1).SubItems(10) = ls_amount
lstmx.ListItems.Item(Li_Count + 1).SubItems(11) = ls_return
ListView 控件有排序的功能!是一段代码实现排序的功能。并在列表头加上了排序的符号
代码如下:
Dim Li_i As Integer
Dim Li_Count As Integer
Dim li_len As Integer
Dim ls_num As String '总数量
Dim ls_amount As String '总金额
Dim ls_return As String '毛利
If lstmx.ListItems.Count = 0 Then Exit Sub ‘没有数据退出
'将合计列中的数据取出来
ls_num = lstmx.ListItems.Item(lstmx.ListItems.Count).SubItems(8)
ls_amount = lstmx.ListItems.Item(lstmx.ListItems.Count).SubItems(10)
ls_return = lstmx.ListItems.Item(lstmx.ListItems.Count).SubItems(11)
lstmx.ListItems.Remove lstmx.ListItems.Count '移出合计列。使合计列不参加排序
lstmx.Sorted = gs_bl_True'排序设为真
Li_Count = lstmx.ColumnHeaders.Count
For Li_i = 1 To Li_Count
li_len = InStr(Trim(lstmx.ColumnHeaders.Item(Li_i).Text), "△")
If li_len > 0 Then _
lstmx.ColumnHeaders.Item(Li_i).Text = _
Left(lstmx.ColumnHeaders.Item(Li_i).Text, li_len - 1)
li_len = InStr(Trim(lstmx.ColumnHeaders.Item(Li_i).Text), "▽")
If li_len > 0 Then _
lstmx.ColumnHeaders.Item(Li_i).Text = _
Left(lstmx.ColumnHeaders.Item(Li_i).Text, li_len - 1)
li_len = 0
Next
lstmx.SortKey = ColumnHeader.Index - 1
lstmx.SortOrder = Abs(Not lstmx.SortOrder = 1)
If lstmx.SortOrder = 0 Then '升序设为假
ColumnHeader.Text = ColumnHeader.Text & "△"
Else '降序
ColumnHeader.Text = ColumnHeader.Text & "▽"
End If
lstmx.Sorted = gs_bl_False '排序为假
Li_Count = lstmx.ListItems.Count
lstmx.ListItems.Add , , "合计:" '添加合计列
lstmx.ListItems.Item(Li_Count + 1).Bold = gs_bl_True
lstmx.ListItems.Item(Li_Count + 1).ForeColor = vbRed
lstmx.ListItems.Item(Li_Count + 1).SubItems(8) = ls_num
lstmx.ListItems.Item(Li_Count + 1).SubItems(10) = ls_amount
lstmx.ListItems.Item(Li_Count + 1).SubItems(11) = ls_return
相关文章推荐
- 实现单击列表头对ListView的动态排序
- 实现单击列表头对ListView的动态排序
- [转]C# ListView 单击标题实现排序(在转载的基础上有所完善)
- C# ListView中点击表头ColumnClick实现对相应列的排序
- 单击ListView列标题实现项排序功能
- C# ListView中点击表头ColumnClick实现对相应列的排序
- javascript 实现单击表头排序
- MFC中CListCtrl单击表头排序+表格大小随窗体大小改变等功能实现
- C# ListView中点击表头ColumnClick实现对相应列的排序
- ListView单击表头排序
- 浅谈WinForm下ListView的扩展(一):单击列头实现排序
- 使用listview绘制表格,实现双击表头排序
- C# ListView 点击表头对数据进行排序功能的实现代码
- HTML中单击Table表头实现排序
- Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
- ListView点击列头排序功能实现
- jquery实现报表点击表头排序
- QTableWidget单击、双击表头进行排序的方法
- Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
- C#中listview实现排序