以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]克隆含表达式行出错 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=16764) |
-- 作者:nevercool -- 发布时间:2012/2/23 9:28:00 -- [求助]克隆含表达式行出错 工资表中有一表达式列, [医疗保险] = [医疗基数] * 0.02 + 3,利用 For Each dr1 As DataRow In DataTables("工资表").Select("[月份]=MAX([月份])") Next 克隆时,提示错误“医疗保险”列为只读。据观察,如果原行数值为空,复制后数值不再是空,而变为“0”。这样的话,对表达式的意义就不同了。 如何修改能避免克隆时出现此问题呢? 即有数值的克隆下来,空数值的仍然为空。 |
-- 作者:狐狸爸爸 -- 发布时间:2012/2/23 9:39:00 -- For Each dr1 As DataRow In DataTables("工资表").Select("[月份]=MAX([月份])") if dc.Expression = "" then end if |
-- 作者:nevercool -- 发布时间:2012/2/23 9:48:00 -- 老师,改完后是不报错了,但如果医疗基数为空时,复制出的行数值仍然是0,医疗保险自然变为3,这样还是不对啊.. |
-- 作者:狐狸爸爸 -- 发布时间:2012/2/23 9:52:00 -- 你看看:
http://www.foxtable.com/help/topics/0602.htm
|
-- 作者:nevercool -- 发布时间:2012/2/23 10:04:00 -- IsNull的问题我考虑过,但在这里我觉得不能用啊,比如某个人没上保险,医疗基数不能为0,否则就扣医疗保险3元了. 现在问题就出在,原先是空值的复制后不再是空值而变成0了,对后面的表达式造成了影响。、 不知我理解的对不对 |
-- 作者:nevercool -- 发布时间:2012/2/23 10:11:00 -- ![]() |
-- 作者:狐狸爸爸 -- 发布时间:2012/2/23 10:21:00 -- For Each dr1 As DataRow In DataTables("工资表").Select("[月份]=MAX([月份])") |
-- 作者:nevercool -- 发布时间:2012/2/23 10:35:00 --
之前我还有个问题没有搞妥,月份列如何改成“2012-02”这种格式,然后在克隆时月份自动递增到下个月 |
-- 作者:狐狸爸爸 -- 发布时间:2012/2/23 10:39:00 -- 用Drawcell事件搞定 |
-- 作者:nevercool -- 发布时间:2012/2/23 10:58:00 -- 帮助文档中Drawcell事件的例子很少啊,基本都是和单元格颜色有关的,不知从何下手 |