以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  能否设计出折叠式可计算可编辑table  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=107526)

--  作者:有点甜
--  发布时间:2017/9/29 16:59:00
--  

参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=104184&skin=0

 


--  作者:客人
--  发布时间:2017/9/29 17:25:00
--  

有点甜老师你好:


我需要的是能编辑的table,如何处理??


--  作者:有点甜
--  发布时间:2017/9/29 18:08:00
--  

1、这个就是能编辑的

 

下载信息  [文件大小:27.8 KB  下载次数:19]
图片点击可在新窗口打开查看点击浏览该文件:目录树表.zip

 

2、如果使用汇总模式,你可以在doubleclick事件写代码

 

e.Table.StartEditing


--  作者:有点蓝
--  发布时间:2017/9/30 16:55:00
--  
参考:

Select Case e.DataCol.Name
    Case "工程造价"
        Dim str As String = e.DataRow("专业编号")
        Dim idx As Integer = str.LastIndexOf("-")
        If idx > -1 Then
            Dim pid As String = str.SubString(0,idx)
            Dim dr As DataRow = e.DataTable.Find("专业编号=\'" & pid & "\'")
            If dr IsNot Nothing Then
                dr("工程造价") = e.DataTable.Compute("Sum(工程造价)","专业编号 like \'" & pid & "-%\' and 类别=\'" & e.DataRow("类别") & "\'")
            End If
        End If
End Select

--  作者:有点蓝
--  发布时间:2017/10/4 8:35:00
--  
参考5楼用法

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:折叠式计算table.table



--  作者:有点蓝
--  发布时间:2017/10/4 16:28:00
--  
参考:http://www.foxtable.com/webhelp/scr/2474.htm
--  作者:有点蓝
--  发布时间:2017/10/5 15:05:00
--  
下面是新增单位工程的代码,其它自己参考做

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd As WinForm.TreeNode = trv.SelectedNode
If nd IsNot Nothing Then
    If nd.Level = 4 Then
        MessageBox.Show("最多允许三层节点!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    ElseIf nd.Level = 0
        MessageBox.Show("不能选择根节点!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Else
        Dim pr As DataRow = nd.DataRow
        Dim dr As Row = Tables("项目结构").AddNew()
        dr("项目编号") = pr("项目编号")
        dr("工程名称") = pr("工程名称")
        dr("标段名称") = pr("标段名称")
        dr("单位工程") = "新建单位工程"
        Dim bh As String= DataTables("项目结构").Compute("max(专业编号)","项目编号 = \'" & pr("项目编号") & "\'")
        Dim id As Integer = 1
        If bh > "" Then
            id = cint(bh.SubString(pr("项目编号").Length + 1,2)) + 1
        End If
        dr("专业编号") = pr("项目编号") & "-" & Format(id,"00")

        If nd.Level = 1
            nd = nd.Nodes.Add("新建单位工程")
        ElseIf nd.Level = 2
            nd = nd.ParentNode.Nodes.Add("新建单位工程") 
        Else
            nd = nd.ParentNode.ParentNode.Nodes.Add("新建单位工程") 
        End If
        trv.SelectedNode = nd
        trv.Select()
        trv.BeginEdit()
    End If
End If

--  作者:有点甜
--  发布时间:2017/10/6 15:33:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:折叠式计算table.table


--  作者:有点甜
--  发布时间:2017/10/6 16:07:00
--  
你修改表数据后,你要重新生成目录树,才能看到最新的数据,无法做到实时更新的。
--  作者:有点甜
--  发布时间:2017/10/7 10:05:00
--  
以下是引用ZJZK2015在2017/10/6 22:55:00的发言:
有点蓝老师你好:
请你帮一下忙,给改一下,十分感谢!!!!

 

你把窗口AfterLoad事件的代码,写到DataColChanged事件去。也就是重新生成目录树。