以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 奇怪 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=84790) |
-- 作者:czy66ds -- 发布时间:2016/5/10 15:44:00 -- 奇怪 假设窗口中有表控件table1,希望判断表中是否存在空行: Dim tbl As Table = e.Form.Controls("Table1").Table Dim r As Row For Each r In tbl.Rows If r Is Nothing Then MessageBox.Show("表中存在空行,不能保存!") Return End If Next 为何明明存在空行也不报告呢?
|
-- 作者:大红袍 -- 发布时间:2016/5/10 15:47:00 -- Dim tbl As Table = e.Form.Controls("Table1").Table |
-- 作者:czy66ds -- 发布时间:2016/5/11 10:25:00 -- 谢谢,又问: Dim tbl As Table = e.Form.Controls("Table3").Table For Each r As Row In tbl.Rows For Each c As Col In tbl.Cols If r.IsNull(c.name) = False Then r.Save Exit For End If Next Next 上述代码是想实现在Table3中保存非空行,而空行不保存。怎么不听话呢?
|
-- 作者:大红袍 -- 发布时间:2016/5/11 10:26:00 -- Dim tbl As Table = e.Form.Controls("Table1").Table |
-- 作者:czy66ds -- 发布时间:2016/5/11 10:45:00 -- 经测试还是保存空行了,何故? |
-- 作者:大红袍 -- 发布时间:2016/5/11 10:46:00 -- 不,可,能,上传实例 |
-- 作者:大红袍 -- 发布时间:2016/5/11 10:47:00 -- 看看你项目有没有逻辑列 |
-- 作者:大红袍 -- 发布时间:2016/5/11 10:49:00 -- Dim tbl As Table = e.Form.Controls("Table1").Table [此贴子已经被作者于2016/5/11 14:41:41编辑过]
|
-- 作者:czy66ds -- 发布时间:2016/5/11 12:52:00 -- 原因找到了,原来是逻辑列在捣乱。做一简单例子: 打开窗口1输入数据,留有空行,数据保存到测试表,空行也保存了。 随后我按8楼改一下。 [此贴子已经被作者于2016/5/11 12:55:02编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/5/11 14:42:00 -- Dim tbl As Table = e.Form.Controls("Table1").Table Dim r As Row For Each r In tbl.Rows Dim isnull As Boolean = True For Each c As Col In tbl.Cols If c.IsBoolean Then If r(c.name) = True Then isNull = False End If ElseIf r.IsNull(c.name) = False isNull = False End If Next If isnull = False Then r.Save End If Next |