以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]引用视图属性  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=196438)

--  作者:苏州老街
--  发布时间:2025/4/27 7:06:00
--  [求助]引用视图属性
老师,怎样引用视图表的视图属性设置列宽,谢谢老师!

Dim tj As String = "Select * Fro  m {" & e.sender.text & "}"
Dim c1 As String
If e.Sender.Text = "数据汇总" Then
    c1 = "编号,54|抄表日期,78|项目,47|项目ID,94|年,38|月,24"  
End If
Tables("数据汇总_Table5").Fill(tj,"数据库", False)                  \'加载Table
Functions.Execute("DataList",Tables("数据汇总_Table5"),c1)           \'显示列表
Tables("数据汇总_Table5").ShowCheckBox = True 

老师下面代码是在其他窗口引用的代码设置列宽
dr = DataTables("视图").Find("视图名 = \'数据汇总\'")
If dr IsNot Nothing Then \'如果找到的话
   Tables("数据汇总_Table5").SetColVisibleWidth(dr("视图属性"))
End If



--  作者:有点蓝
--  发布时间:2025/4/27 8:38:00
--  
dr("视图属性")存储的是什么内容?
--  作者:苏州老街
--  发布时间:2025/4/27 14:23:00
--  
Dim dr As DataRow


--  作者:有点蓝
--  发布时间:2025/4/27 14:24:00
--  
"视图属性"这个列单元格存储的是什么内容!!
--  作者:苏州老街
--  发布时间:2025/4/27 14:55:00
--  
编号|54|抄表日期|78|项目|47|项目ID|94|年|38|月|24
[此贴子已经被作者于2025/4/27 15:22:30编辑过]

--  作者:有点蓝
--  发布时间:2025/4/27 15:22:00
--  
把逗号都改为竖线

编号|54|抄表日期|78|..........


--  作者:苏州老街
--  发布时间:2025/4/27 15:53:00
--  
老师,下面设置的代码报错。

Dim tj1 As String = "Select * Fr  om {" & e.sender.text & "}"
\'Dim c1 As String
Dim c1 As DataRow
If e.Sender.Text = "数据汇总" Then
    c1 = DataTables("视图").Find("视图名 = \'数据汇总3\'")
    If c1 IsNot Nothing Then \'如果找到的话
        Tables("数据汇总_Table5").SetColVisibleWidth(c1("视图属性"))
    End If
End If
Tables("数据汇总_Table5").Fill(tj1,"数据库", False)                  \'加载Table
Functions.Execute("DataList",Tables("数据汇总_Table5"),c1)           \'显示列表
Tables("数据汇总_Table5").ShowCheckBox = True                        \'在行号列显示复选框

--  作者:有点蓝
--  发布时间:2025/4/27 16:09:00
--  
报什么错?
--  作者:苏州老街
--  发布时间:2025/4/27 17:36:00
--  
老师,内部函数报错

Dim i As Integer = 0
Dim ColName As String
Dim Vals As New List(Of String)
Vals.AddRange(Args(1).Split("|"))
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

--  作者:苏州老街
--  发布时间:2025/4/27 17:37:00
--  
.NET Framework 版本:2.0.50727.9179
Foxtable 版本:2017.4.22.1
错误所在事件:自定义函数DataList
详细错误信息:
调用的目标发生了异常。
未找到类型“DataRow”的公共成员“Contains”。
[此贴子已经被作者于2025/4/27 19:40:30编辑过]