以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 自定义函数调用异常 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=145969) |
||||
-- 作者:rgbjwjb -- 发布时间:2020/2/13 8:36:00 -- 自定义函数调用异常 1、单独打开“利息计算”窗体时,加载的全部数据,但我设计时只想加载部分(“本息已全部兑付”)的数据; 2、运行整个项目文件后,点击“利息计算”按钮时出现提示:找不到名称为“treeview2”的控件; 3、可能是自定义函数“生成筛选树”的问题 不知问题出再哪?请指教,谢谢!!
|
||||
-- 作者:有点蓝 -- 发布时间:2020/2/13 9:02:00 -- 目录树的点击事件有问题,打开窗口后会默认选中的一个节点,然后就执行:Functions.Execute("生成筛选树","") 这个逻辑本身就有问题,不应该在节点点击事件里重新生成所有节点
Select Case e.sender.Selectednode.name Case "全部融资款" Functions.Execute("生成筛选树","") Case "已全部兑付" Functions.Execute("生成筛选树","where 本息是否兑付 = true") Case "未全部兑付" Functions.Execute("生成筛选树","where 本息是否兑付 = false") |
||||
-- 作者:rgbjwjb -- 发布时间:2020/2/13 11:21:00 -- 我这个功能树要实现复合筛选功能:先筛选“兑付状态”,后再在该状态下按“年|月|债权人”进行筛选,所以应该在节点点击事件里重新生成所有节点, 1、要消除没有 找不到名称为“treeview2”的控件的错误提示怎么修改? 2、另外麻烦你帮我看下自定义函数有没有问题?
谢谢指教!! |
||||
-- 作者:rgbjwjb -- 发布时间:2020/2/13 15:26:00 --
|
||||
-- 作者:有点蓝 -- 发布时间:2020/2/13 15:58:00 -- 回3楼。这种写法是错的,怎么都不应该在节点点击事件里重新生成所有节点。如果要根据3种状态生成不同的目录树内容,应该另外发一个组合框,把这个3种状态放到组合框里选择,然后根据组合框的选择更改目录树内容 DataTables("利息计算_兑付明细表").Fill("Select {收款明细表}.借款日期, {收款明细表}.债权人 ,{收款明细表}.借款年限,{收款明细表}.利率,{收款明细表}.本息是否兑付,借款金额,兑付日期,应结金额 From {收款明细表} Left JOIN {兑付明细表} ON {兑付明细表}.[收据号码] = {收款明细表}.[收据号码]" & args(0),True) Dim cmd As new sqlcommand Dim dt As DataTable cmd.CommandText = "Select distinct year({收款明细表}.借款日期) as 年,month({收款明细表}.借款日期) as 月, {收款明细表}.债权人 From {收款明细表} " & args(0) dt = cmd.ExecuteReader Dim frm As WinForm.Form = args(1) Dim tv As WinForm.TreeView = frm.Controls("TreeView2") tv.BuildTree(dt,"年|月|债权人") tv.Nodes.Insert("未全部兑付",0) tv.Nodes.Insert("已全部兑付",0) tv.Nodes.Insert("全部融资款",0) For Each nd As WinForm.TreeNode In tv.nodes nd.Expand Next 外面调用 Functions.Execute("生成筛选树"," where 本息是否兑付 = true",e.Form) |