以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 下一行逻辑列勾选问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=87274) |
-- 作者:douglas738888 -- 发布时间:2016/7/7 10:51:00 -- 下一行逻辑列勾选问题 请教老师,我想实现,比如: 同一个编号下有5行,当上一行逻辑列勾选后,下一行逻辑列自动勾选,一直到最后一行勾选后停止,不同的编号下依次执行 我写了部分代码,其他的不会写了,请老师指导下下 代码放在 DataColChanged合适还是放在AfterEdit合适) If e.Col.name="签批完成" AndAlso e.Row.IsNull("签批完成")=False Then If e.Row.Index<e.Table.Rows.count Then If e.Table.Rows(e.Row.Index+1).IsNull("签批完成") Then e.Table.Rows(e.Row.Index+1)("签批完成")="True" End If End If End If |
-- 作者:大红袍 -- 发布时间:2016/7/7 11:01:00 -- If e.Col.name="签批完成" AndAlso e.Row("签批完成")=True Then e.Table.DataTable.replacefor("签批完成", True, "编号 = \'" & e.row("编号") & "\'") End If |
-- 作者:douglas738888 -- 发布时间:2016/7/7 11:08:00 -- 大红袍老师,同一个编号下,不是全部勾选,是上一行勾选后,下一行才自动勾选,如果有4行,第1行勾选后,第2行才自动勾选,第2行勾选后,第3行才自动勾选.... |
-- 作者:大红袍 -- 发布时间:2016/7/7 11:18:00 -- If e.Col.name="签批完成" AndAlso e.Row("签批完成")=True Then e.Table.DataTable.replacefor("签批完成", True, "编号 = \'" & e.Row("编号") & "\' and _Sortkey >= " & e.row("_Sortkey")) End If |
-- 作者:douglas738888 -- 发布时间:2016/7/7 11:40:00 -- 老师,还是全部勾选,_Sortkey的排序没有形成,我做了个例子,再请老师看看 表E |
-- 作者:大红袍 -- 发布时间:2016/7/7 11:49:00 -- 我测试没有问题啊。你去掉所有的勾选,再测试。 |
-- 作者:douglas738888 -- 发布时间:2016/7/7 12:14:00 -- 大红袍老师,对不起! 您的代码是对的,是我的设计逻辑有错误,我又增加一列“流转勾选”用于提示下一个流程才能合理 应该是这样来实现: 第1行的 签批完成 打钩后 ,第2行的 流转勾选 打钩 ,第2行的 签批完成 打钩后, 第3行的 流转勾选 打钩 老师再帮忙看看实例 [此贴子已经被作者于2016/7/7 12:14:21编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/7/7 12:22:00 -- If e.Col.name="签批完成" AndAlso e.Row("签批完成")=True Then Dim fdr As DataRow = e.Table.DataTable.find("项目编号 = \'" & e.Row("项目编号") & "\' and _Sortkey >= " & e.Row("_Sortkey") & " and _Identify <> " & e.Row("_Identify"), "_Sortkey ") If fdr IsNot Nothing Then fdr("流转勾选") = True End If End If |