请问排序的语句在下面的例子里面要如何添加呢? 谢谢老师。
1、在窗口插入一个ListView控件
2、窗口的AfterLoad事件代码设置为:
Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
lvw.StopRedraw() '暂停绘制
lvw.View = ViewMode.Details '显示模式为详细内容
lvw.GridLines = True '显示网格线
Dim cls() As String = {"国家","人口","面积","语言","宗教","洲"} '指定要显示的各列
Dim wds() As Integer = {120,100,130,80,80,80} '定义列宽
For i As Integer = 0 To cls.Length - 1
Dim c As WinForm.ListViewColumn = lvw.Columns.Add()
c.Name = cls(i) '指定列名
c.Text = cls(i)'指定列标题
c.Width = wds(i) '指定列宽
Next
lvw.Columns("人口").Text = "人口(万)" '修改人口列的标题
lvw.Columns("人口").TextAlign = HorizontalAlignment.Right '人口列靠右对齐
lvw.Columns("面积").TextAlign = HorizontalAlignment.Right '面积列靠右对齐
lvw.VirtualMode = True '以虚拟模式显示
lvw.VirtualListSize = DataTables("国家").DataRows.count '设置虚拟模式下要显示的行数
lvw.ResumeRedraw() '恢复绘制
上面的代码生成了ListView的列,但是没有添加行,只是通过以下两行代码使用虚拟模式,以及虚拟模式下的行数:
lvw.VirtualMode = True '以虚拟模式显示
lvw.VirtualListSize = DataTables("国家").DataRows.count '设置虚拟模式下要显示的行数
3、将ListView的RetrieveVirtualRow事件代码设置为:
Dim lvw As WinForm.ListView = e.Sender
Dim dr As DataRow = DataTables("国家").DataRows(e.Index) '根据行位置从数据表中取得对应的DataRow
Dim Key As String = dr("图标")
lvw.Images.AddImage(Key, Key & ".ico", Key & "48.ico") '添加代表这个国家的图标
e.Row.Imagekey = key '指定图标键值
For Each cl As WinForm.ListViewColumn In lvw.Columns '逐列取值
Select Case cl.Name
Case "人口","面积" '如果是人口列或面积列
e.Row(cl.Name) = Format(dr(cl.Name),"#,000") '则显示千位分割符号
Case Else
e.Row(cl.Name) = dr(cl.Name)
End Select
Next