在老六代码的启发下,本人做了一个类似于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
[此贴子已经被狐狸爸爸于2009-8-24 15:53:05编辑过]