以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 新增行默认筛选树列,如何做? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=107805)
|
-- 作者:chengjingliang
-- 发布时间:2017/10/10 15:32:00
-- 新增行默认筛选树列,如何做?
筛选后发现没有需要的行,新增行默认筛选树列,如何设置?或编写代码?
|
-- 作者:有点甜
-- 发布时间:2017/10/10 15:56:00
--
上传具体实例说明。
|
-- 作者:chengjingliang
-- 发布时间:2017/10/10 16:43:00
--
- 工料单价表内,筛选树:商丘市虞城县产业聚集区——材料——基本材料,工料单价表:新增行,项目ID是空白,希望默认项目ID与筛选树所在的项目ID相同
此主题相关图片如下:1507624415(1).png
|
-- 作者:有点甜
-- 发布时间:2017/10/10 17:05:00
--
DataRowAdded事件
For Each a As OBJECT In Tables("工料单价").grid.Parent.controls For Each b As OBJECT In a.controls If B.text = "筛选树" Then Dim tr = b.controls(0).controls(0) If tr.selectednode IsNot Nothing AndAlso tr.selectednode.text <> "显示所有行" Then Dim ary1() As String = "项目名称|工料一类|工料二类|工料名称".split("|") Dim ary2() As String = tr.selectednode.fullpath.split("\\") For i As Integer = 0 To ary2.length-1 If e.DataTable.DataCols(ary1(i)).Expression = "" Then e.DataRow(ary1(i)) = ary2(i) End If Next Dim fdr As DataRow = DataTables("工程项目").find("项目名称 = \'" & ary2(0) & "\'") If fdr IsNot Nothing e.DataRow("项目id") = fdr("项目id") End If End If End If Next Next
|
-- 作者:chengjingliang
-- 发布时间:2017/10/10 18:21:00
--
我修改了一下,想在清单表内实现筛选树下新增行,不能默认筛选树的项目ID,问题出在哪了?For Each a As OBJECT In Tables("清单").grid.Parent.controls
For Each b As OBJECT In a.controls
If B.text = "筛选树" Then
Dim tr = b.controls(0).controls(0)
If tr.selectednode IsNot Nothing AndAlso tr.selectednode.text <> "显示所有行" Then
Dim ary1() As String = "项目名称|单位工程|清单名称".split("|")
Dim ary2() As String = tr.selectednode.fullpath.split("\\")
For i As Integer = 0 To ary2.length-1
If e.DataTable.DataCols(ary1(i)).Expression = "" Then
e.DataRow(ary1(i)) = ary2(i)
End If
Next
Dim fdr As DataRow = DataTables("工程项目").find("项目名称=\'" & ary2(0) & "\'")
If fdr IsNot Nothing
e.DataRow("项目id") = fdr("项目id")
End If
End If
End If
Next
Next
|
-- 作者:有点甜
-- 发布时间:2017/10/10 18:45:00
--
写到DataRowAdding事件。
|