Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
在老六代码的启发下,本人做了一个类似于DataList的显示函数。不仅可以自动隐藏无关列,还可以按照设定的列项目自动显示宽度,列显示顺序为设定的列名顺序。datalist函数代码如下:
'显示列
For Each c As Col In Args(0).Cols
c.Visible = Args(1).Contains(c.name & ",")
Next
'列宽度及显示位置
Dim i as Integer = 0
Dim ColName as String
Dim Vals As New List(Of String)
Vals.AddRange(Args(1).Split("|"))
Args(0).Redraw = False
For Each Val as String in Vals
ColName = Val.substring(0,Val.indexof(",")) '取得列名称
Args(0).Cols(ColName).Move(i) '移动位置
Args(0).Cols(ColName).Width = Val.substring(Val.indexof(",")+1) '设置宽度
i = i + 1
Next
Args(0).Redraw = True
学习研究!
好啊,收藏!
老大能不能做个小例子看看
楼主已经给出例子了,注意他的DataList,指的是自定义函数的名称,并非我们通常所说的DataList
加入一行代码为改变显示列的位置,
With Args(0) '数据表
Dim i as Integer = 0
For Each c As Col In .Cols
Dim Vals() As String = Args(1).Split("|")
c.Visible = Args(1).Contains(c.name & ",") '加逗号可以保证列名完全匹配
If c.Visible = True
.cols(c.name).move(i)
c.Width = Vals(i).substring(Vals(i).indexof(",")+1)
i = i + 1
End If
Next
End With
红色部分,怎么不生效呢?目的为,把显示列的位置进行调整,请老大看看,这样是否写错了?