以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何用代码判断DataTable是否是空表? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=68787) |
-- 作者:青鸟 -- 发布时间:2015/5/25 10:43:00 -- [求助]如何用代码判断DataTable是否是空表? 我在导航中加了段代码:DataTables("合同or费用台账")和DataTables("VO报表台账") 有可能是空表(未录入任何数据),如果不加判断要报错,加了绿色判断后,如果是空表,报错:索引越界。红色判断写法又不正确,请教怎么办? Dim Page As WinForm.TopicPage Page = e.Form.Controls("TopicBar1").Pages.Add("记录信息","记录信息") If DataTables("合同or费用台账").DataRows(0).IsNull("合同or费用编号") Then Page.Links.Add("尚未结算付款的记录","尾款未付清(0)条" ) Else Dim cnt1 As Integer = DataTables("合同or费用台账").Compute("Count(尾款是否结清)","尾款是否结清 = False") Page.Links.Add("尚未结算付款的记录","尾款未付清(" & cnt1 & ")条" ) End If If DataTables("VO报表台账") IsNot System.DBNull Then Dim cnt2 As Integer = DataTables("VO报表台账").Compute("Count(审核状态)","审核状态 = 审核中") Dim cnt3 As Integer = DataTables("VO报表台账").Compute("Count(审核状态)","审核状态 = 未审核 Or 审核状态 IsNull") Dim cnt4 As Integer = DataTables("VO报表台账").Compute("Count(审核状态)","审核状态 = 不予审核") Page.Links.Add("正在审核的VO记录","VO正在审核(" & cnt2 & ")条" ) Page.Links.Add("尚未审核的VO记录","VO尚未审核(" & cnt3 & ")条" ) Page.Links.Add("不予审核的VO记录","VO不予审核(" & cnt4 & ")条" ) End If |
-- 作者:Bin -- 发布时间:2015/5/25 10:44:00 -- If DataTables("合同or费用台账").DataRows.count>0 then Dim Page As WinForm.TopicPage Page = e.Form.Controls("TopicBar1").Pages.Add("记录信息","记录信息") If DataTables("合同or费用台账").DataRows(0).IsNull("合同or费用编号") Then Page.Links.Add("尚未结算付款的记录","尾款未付清(0)条" ) Else Dim cnt1 As Integer = DataTables("合同or费用台账").Compute("Count(尾款是否结清)","尾款是否结清 = False") Page.Links.Add("尚未结算付款的记录","尾款未付清(" & cnt1 & ")条" ) End If If DataTables("VO报表台账") IsNot System.DBNull Then Dim cnt2 As Integer = DataTables("VO报表台账").Compute("Count(审核状态)","审核状态 = 审核中") Dim cnt3 As Integer = DataTables("VO报表台账").Compute("Count(审核状态)","审核状态 = 未审核 Or 审核状态 IsNull") Dim cnt4 As Integer = DataTables("VO报表台账").Compute("Count(审核状态)","审核状态 = 不予审核") Page.Links.Add("正在审核的VO记录","VO正在审核(" & cnt2 & ")条" ) Page.Links.Add("尚未审核的VO记录","VO尚未审核(" & cnt3 & ")条" ) Page.Links.Add("不予审核的VO记录","VO不予审核(" & cnt4 & ")条" ) End If end if |
-- 作者:青鸟 -- 发布时间:2015/5/25 11:30:00 -- 问题解决了,谢谢Bin! 另外,我想给Link加个图标,在模版里面好办,用代码怎么写呢?红色代码出错:Iconfile不是Links的成员 Dim Page As WinForm.TopicPage Page = e.Form.Controls("TopicBar1").Pages.Add("记录信息","记录信息") If DataTables("合同or费用台账").DataRows.count > 0 Then Dim cnt1 As Integer = DataTables("合同or费用台账").Compute("Count(尾款是否结清)","尾款是否结清 = False") Page.Links.Add("尚未结算付款的记录","尾款未付清(" & cnt1 & ")条" ) Page.Links.Ic End If |
-- 作者:青鸟 -- 发布时间:2015/5/25 11:31:00 -- Page.Links.Ic |
-- 作者:Bin -- 发布时间:2015/5/25 11:33:00 -- 是 ImageFile |
-- 作者:青鸟 -- 发布时间:2015/5/25 11:52:00 -- 还是不行啊 此主题相关图片如下:360截图.png |
-- 作者:大红袍 -- 发布时间:2015/5/25 11:55:00 -- http://www.foxtable.com/help/topics/0859.htm
|
-- 作者:青鸟 -- 发布时间:2015/5/25 12:25:00 -- 追问:如何判断Pages(记录信息).Links(尚未结算付款的记录) 是否已动态加载呢?如果没用这个判断的话,报错:“记录信息”未定义 Dim Page As WinForm.TopicPage Page = e.Form.Controls("TopicBar1").Pages.Add("记录信息","记录信息") If DataTables("合同or费用台账").DataRows.count > 0 Then Dim cnt1 As Integer = DataTables("合同or费用台账").Compute("Count(尾款是否结清)","尾款是否结清 = False") Page.Links.Add("尚未结算付款的记录","尾款未付清记录(" & cnt1 & ")条" ) If Forms("入口窗口").Controls("TopicBar1").Pages(记录信息).Links(尚未结算付款的记录) = True Then Dim tl As WinForm.TopicLink tl = Forms("入口窗口").Controls("TopicBar1").Pages(记录信息).Links(尚未结算付款的记录) tl.ImageFile = "new.ico" End If End If |
-- 作者:Bin -- 发布时间:2015/5/25 13:42:00 -- pages 应该有个 Contains 方法 if Forms("入口窗口").Controls("TopicBar1").Pages.Contains ("记录信息") then \' 说明存在这个页面
|
-- 作者:青鸟 -- 发布时间:2015/5/25 14:33:00 -- 还是不行啊: 息","记录信息") Dim Page As WinForm.TopicPage If DataTables("合同or费用台账").DataRows.count > 0 Then Dim cnt1 As Integer = DataTables("合同or费用台账").Compute("Count(尾款是否结清)","尾款是否结清 = False") Page.Links.Add("尚未结算付款的记录","尾款未付清记录(" & cnt1 & ")条" ) If Forms("入口窗口").Controls("TopicBar1").Pages.Contains ("记录信息") Then \' 判断"记录信息"页面是否存在 Dim tl As WinForm.TopicLink tl = Forms("入口窗口").Controls("TopicBar1").Pages(记录信息).Links(尚未结算付款的记录) tl.ImageFile = "new.ico" End If End If |