以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]数据引用问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=117704) |
-- 作者:pzxas -- 发布时间:2018/4/18 1:25:00 -- [求助]数据引用问题 设计值_平整度为双精度数据类型,其引用了检测信息表中的一个固定数值,当检测信息表中固定数值为空时返回“0”,问如何将“0”改为“/” 代码如下: DataTables("平整度").ReplaceFor("设计值_平整度", DataTables("检测信息表").DataRows(0)("平整度设计值") ) If e.DataCol.name = "设计值_平整度" If e.DataRow("设计值_平整度") = 0 Then e.DataRow("单段判定_平整度") = "/" Else If e.DataRow("注释").length >= 1 Then e.DataRow("单段判定_平整度") = e.DataRow("注释") Else If e.DataRow("平整度") > e.DataRow("设计值_平整度") Then e.DataRow("单段判定_平整度") = "不合格" Else e.DataRow("单段判定_平整度") = "合格" End If End If End If End If |
-- 作者:有点甜 -- 发布时间:2018/4/18 9:31:00 -- 如果是数值类型,是不能存放和现实字符 / 的,只能也留空,如
If DataTables("检测信息表").DataRows(0)("平整度设计值") = Nothing The DataTables("平整度").ReplaceFor("设计值_平整度", Nothing) Else DataTables("平整度").ReplaceFor("设计值_平整度", DataTables("检测信息表").DataRows(0)("平整度设计值")) End If |
-- 作者:有点甜 -- 发布时间:2018/4/18 9:32:00 -- 如果想数值类型,也显示 / 的话,需要drawcell处理,如
http://www.foxtable.com/webhelp/scr/2262.htm
|
-- 作者:pzxas -- 发布时间:2018/4/18 17:36:00 -- 已经实现所需功能,谢谢 If DataTables("检测信息表").DataRows(0)("平整度设计值") = Nothing Then DataTables("平整度").ReplaceFor("设计值_平整度", Nothing) Else DataTables("平整度").ReplaceFor("设计值_平整度", DataTables("检测信息表").DataRows(0)("平整度设计值")) End If If e.DataCol.name = "设计值_平整度" If e.DataRow.IsNull("设计值_平整度") Then e.DataRow("单段判定_平整度") = "/" ============================== If e.Col.Name = "设计值_平整度" Then If e.Row.Isnull("设计值_平整度") e.Text = "/" End If End If 另外,如何实现在已有数据上更改后结果马上显示的功能 |
-- 作者:pzxas -- 发布时间:2018/4/18 17:39:00 -- 效果如图 |
-- 作者:有点甜 -- 发布时间:2018/4/18 18:06:00 -- If e.DataCol.name = "设计值_平整度" OrElse e.DataCol.name = "注释" Then If e.DataRow("设计值_平整度") = Nothing Then e.DataRow("单段判定_平整度") = "/" Else If e.DataRow("注释").length >= 1 Then e.DataRow("单段判定_平整度") = e.DataRow("注释") Else If e.DataRow("平整度") > e.DataRow("设计值_平整度") Then e.DataRow("单段判定_平整度") = "不合格" Else e.DataRow("单段判定_平整度") = "合格" End If End If End If End If |
-- 作者:pzxas -- 发布时间:2018/4/19 20:21:00 -- 有点甜老师: 我按照这些代码设计好了后,怎么运行起来很慢呢,大概有5~10s的延迟; 代码如下: If e.DataCol.name = "桩号" If e.DataRow.IsNull("桩号") Then e.DataRow("整桩号") = Nothing Else If e.DataRow("桩号").length >= 2 Then e.DataRow("整桩号") = (e.DataRow("桩号").substring(0, 2)) & (e.DataRow("行车方向")) & (e.DataRow("车道名称")) & (e.DataRow("车道号")) & ("号车道") Else e.DataRow("整桩号") = ("桩号错误") \'赋值为空时填Nothing End If End If End If If e.DataCol.name = "左IRI" If e.DataRow("左IRI") >= e.DataRow("右IRI") Then e.DataRow("IRI") = e.DataRow("左IRI") Else e.DataRow("IRI") = e.DataRow("右IRI") End If End If If e.DataCol.name = "左平整度" If e.DataRow("左平整度") >= e.DataRow("右平整度") Then e.DataRow("平整度") = e.DataRow("左平整度") Else e.DataRow("平整度") = e.DataRow("右平整度") End If End If DataTables("平整度").ReplaceFor("设计值_平整度", DataTables("检测信息表").DataRows(0)("平整度设计值") ) If e.DataCol.name = "设计值_平整度" OrElse e.DataCol.name = "注释" Then If e.DataRow("设计值_平整度") = Nothing Then e.DataRow("单段判定_平整度") = "/" Else If e.DataRow("注释").length >= 1 Then e.DataRow("单段判定_平整度") = e.DataRow("注释") Else If e.DataRow("平整度") > e.DataRow("设计值_平整度") Then e.DataRow("单段判定_平整度") = "不合格" Else e.DataRow("单段判定_平整度") = "合格" End If End If End If End If =============== If e.Col.Name = "设计值_平整度" Then If e.Row ("设计值_平整度") = 0 e.Text = "/" End If End If |
-- 作者:PZXAS -- 发布时间:2018/4/19 20:25:00 -- 这是源文件 |
-- 作者:有点甜 -- 发布时间:2018/4/19 20:34:00 -- 这句代码删除
DataTables("平整度").ReplaceFor("设计值_平整度", DataTables("检测信息表").DataRows(0)("平整度设计值") )
|
-- 作者:PZXAS -- 发布时间:2018/4/19 20:41:00 -- 这句不能删除,他要引用检测信息表里的数据 |