以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 分类代码修改问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=71139) |
-- 作者:HJG_HB950207 -- 发布时间:2015/7/6 10:28:00 -- 分类代码修改问题 在FOXTABLE示例中,将国家按洲分类,代码如下: Dim lvw As WinForm.ListView = e.Form.Controls("ListView1") lvw.StopRedraw() \'停止绘制 lvw.Groups.Clear() lvw.Columns.Clear() \'清除原来的列 lvw.Rows.Clear() \'清除原来的行 lvw.Images.Clear() \'清除原来的图片 lvw.View = ViewMode.Details \'显示模式为详细信息 Dim cls() As String = {"国家","人口","面积","语言","宗教"} \'定义列名 Dim wds() As Integer = {100,100,150,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 For Each zh As String In DataTables("国家").GetValues("洲") \'增加分组 Dim grp As WinForm.ListViewGroup = lvw.Groups.Add() grp.Name = zh grp.Text = zh Next For Each dr As DataRow In DataTables("国家").DataRows Dim Key As String = dr("图标") Dim r As WinForm.ListViewRow = lvw.Rows.Add() \'增加一行 lvw.Images.AddImage(Key, Key & ".ico", Key & "48.ico") \'添加代表这个国家的一对图标 r.ImageKey = Key \'指定图标键值 r.Group = dr("洲") \'指定所属分组 For Each cl As String In cls \'逐列取值 Select Case cl Case "人口","面积" \'如果是人口列或面积列 r(cl) = format(dr(cl),"#,000") \'则显示千位分割符号 Case Else r(cl) = dr(cl) End Select Next Next lvw.ResumeRedraw() \'恢复绘制 请教: 如果在国家表中,增加序号列,在按洲分类时,各洲内的国家按序号排位(不按[_Identify]),如何修改代码?谢谢 |
-- 作者:大红袍 -- 发布时间:2015/7/6 10:32:00 -- For Each dr As DataRow In DataTables("国家").DataRows
改成
For Each dr As DataRow In DataTables("国家").Select("", "序号") |
-- 作者:HJG_HB950207 -- 发布时间:2015/7/6 10:33:00 -- 谢谢! |