以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]能否用表事件编辑后台所有数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91751) |
-- 作者:qscwdvefb -- 发布时间:2016/10/18 13:37:00 -- [求助]能否用表事件编辑后台所有数据 请问有办法在表事件上对后台所有数据进行编辑吗?例如我用的是分页加载,只加载20行数据,我在datacolchanged事件里面修改某列第一行的数据,在剩下所有行 (包括没有加载出来的行)的那列的值都与它相等,这可以实现吗?如果可以,把下面代码 Dim dr As DataRow = e.DataRow Select Case e.DataCol.Name Case "F4376" dr("F5312")=dr("F4376").Year End Select 修改一下
|
-- 作者:有点蓝 -- 发布时间:2016/10/18 14:15:00 -- 参考:http://www.foxtable.com/webhelp/scr/2898.htm Dim dr As DataRow = e.DataRow Select Case e.DataCol.Name Case "F4376" e.DataTable.SQLReplaceFor("F5312",dr("F4376").Year)
e.DataTable.ReplaceFor("F5312",dr("F4376").Year) \'dr("F5312")=dr("F4376").Year End Select [此贴子已经被作者于2016/10/18 14:15:59编辑过]
|
-- 作者:qscwdvefb -- 发布时间:2016/10/18 15:56:00 -- 你改的代码可以把倒数第二行删除吗?倒数第二行好像是注释,前面有单引号。。。 |
-- 作者:qscwdvefb -- 发布时间:2016/10/18 16:00:00 -- 关键是把dr("F5312")=dr("F4376").Year 替换成 e.DataTable.SQLReplaceFor("F5312",dr("F4376").Year)
e.DataTable.ReplaceFor("F5312",dr("F4376").Year) \'dr("F5312")=dr("F4376").Year 就可以了?
|
-- 作者:有点蓝 -- 发布时间:2016/10/18 16:08:00 -- 注释的可以删除 可不可以试过才知道
|
-- 作者:qscwdvefb -- 发布时间:2016/10/19 18:53:00 -- beforesavedatarow事件 Dim dr As DataRow = DataTables("T246").AddNew For Each dc As DataCol In DataTables("T246").DataCols dr("F4363") = e.DataRow("F391") dr("F4364") = e.DataRow("F392") dr("F4366") = e.DataRow("F394") dr("F4383") = e.DataRow("F395") dr("F4384") = e.DataRow("F396") dr("F4385") = e.DataRow("F397") dr("F4386") = e.DataRow("F398") dr("F4387") = e.DataRow("F399") dr("F4388") = e.DataRow("F400") dr("F4389") = e.DataRow("F401") dr("F4390") = e.DataRow("F402") dr("F4391") = e.DataRow("F403") dr("F4392") = e.DataRow("F404") dr("F4393") = e.DataRow("F405") dr("F4394") = e.DataRow("F406") dr("F4395") = e.DataRow("F407") dr("F4396") = e.DataRow("F408") ...... Next 怎么改这段代码,让它变成是编辑后台全部数据的代码?(ps:这是T28表的表事件)
|
-- 作者:qscwdvefb -- 发布时间:2016/10/19 20:22:00 -- 以下是引用qscwdvefb在2016/10/18 13:37:00的发言: 请问有办法在表事件上对后台所有数据进行编辑吗?例如我用的是分页加载,只加载20行数据,我在datacolchanged事件里面修改某列第一行的数据,在剩下所有行 (包括没有加载出来的行)的那列的值都与它相等,这可以实现吗?如果可以,把下面代码 Dim dr As DataRow = e.DataRow Select Case e.DataCol.Name Case "F4376" dr("F5312")=dr("F4376").Year End Select 修改一下 如果是改为每行dr("F5312")等于各自行的dr("F4376").Year呢? |
-- 作者:有点蓝 -- 发布时间:2016/10/19 20:56:00 -- 回6楼,2个表的列没有说明对应关系,只能这样 回7楼, Dim dr As DataRow = e.DataRow Select Case e.DataCol.Name Case "F4376" e.DataTable.SQLReplaceFor("F5312","convert( nvarchar(4),[F4376],120)","",True) End Select |
-- 作者:qscwdvefb -- 发布时间:2016/10/20 10:20:00 -- 以下是引用有点蓝在2016/10/19 20:56:00的发言:
回6楼,2个表的列没有说明对应关系,只能这样 你说的对应关系具体是指什么?
|
-- 作者:qscwdvefb -- 发布时间:2016/10/20 10:36:00 -- 以下是引用有点蓝在2016/10/19 20:56:00的发言:
回6楼,2个表的列没有说明对应关系,只能这样 回7楼, Dim dr As DataRow = e.DataRow Select Case e.DataCol.Name Case "F4376" e.DataTable.SQLReplaceFor("F5312","convert( nvarchar(4),[F4376],120)","",True) End Select 请问参数convert( nvarchar(4),[F4376],120)的含义是什么? |