以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]克隆行时DataRowAdding中Nothing为何无效-已解决 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=38559) |
-- 作者:shenyl0211 -- 发布时间:2013/8/1 8:50:00 -- [求助]克隆行时DataRowAdding中Nothing为何无效-已解决 如题,在全局表的DataRowAdding(解决办法:放在DataRowAdded)事件中代码如下,希望克隆行时用Nothing将复核人、复核日期、审批人、审批日期清空,但无效,不过可以用非空数据: Select Case e.DataTable.Name e.DataRow("复核人") = nothing \'别的字符都行,但Nothing无效,下同 e.DataRow("复核日期") = nothing e.DataRow("审批人") = nothing e.DataRow("审批日期") = nothing End Select [此贴子已经被作者于2013-8-1 11:18:38编辑过]
|
-- 作者:Bin -- 发布时间:2013/8/1 8:53:00 -- 该列设置了不能为空吧? 上个例子看看. |
-- 作者:shenyl0211 -- 发布时间:2013/8/1 9:08:00 -- 以下是引用Bin在2013-8-1 8:53:00的发言:
该列设置了不能为空吧? 上个例子看看. 起初必须为空,因为复核和审批是后来的事
|
-- 作者:Bin -- 发布时间:2013/8/1 9:10:00 -- 上个例子看看吧 |
-- 作者:lsy -- 发布时间:2013/8/1 9:19:00 -- If e.DataTable.DataRows.Count = 0 Then \'如果是一个空表
想设置为Nothing的就不包含在数组中。 |
-- 作者:狐狸爸爸 -- 发布时间:2013/8/1 9:19:00 -- 请将代码写在DataRowAdded事件中,而不是DataRowAdding事件。
|
-- 作者:Bin -- 发布时间:2013/8/1 9:23:00 -- 以下是引用狐狸爸爸在2013-8-1 9:19:00的发言:
晕,细节..
请将代码写在DataRowAdded事件中,而不是DataRowAdding事件。
|
-- 作者:shenyl0211 -- 发布时间:2013/8/1 11:15:00 -- 我也晕!DataRowAdding中能执行的代码,在DataRowAdded中也能执行;而前者不能执行的代码,后者也能执行。在后者中,插入行、添加行、克隆行都一样。那DataRowAdding还有用吗? |
-- 作者:Bin -- 发布时间:2013/8/1 11:17:00 -- DataRowAdding 增加一行时执行,此时新增行(DataRow)已经创建,但并未真正增加到DataTable中,通常在此处对新增行进行默认值的设置。 |
-- 作者:狐狸爸爸 -- 发布时间:2013/8/1 11:19:00 -- 克隆行的过程是:
1、执行DataRowAdding事件 2、从被克隆的行赋值数据到新的行 3、执行DataRowAdded事件。
明白了? |