以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  赋值问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=154780)

--  作者:shyilin
--  发布时间:2020/9/26 21:48:00
--  赋值问题
 Dim tb As Table = e.Form.Controls("Table2").Table
Dim i As Integer =Tables("配件发票表.配件发票明细").Rows.Count
Dim t As Table = Tables("配件发票表.配件发票明细")
t.AddNew(tb.GetCheckedRows.count)
For Each dr As Row In tb.GetCheckedRows  
    Dim r As Row= t.Rows(i)
    r("维修编号")=dr("维修编号")
    i=i+1
Next
感觉这样加几行再赋值,数量不多的情况还行,但是如果有几十个或者几百个的情况就特别慢,老师帮忙看看有什么更好的赋值方式吗?

--  作者:有点蓝
--  发布时间:2020/9/27 9:39:00
--  
 Dim tb As Table = e.Form.Controls("Table2").Table
Dim t As Table = Tables("配件发票表.配件发票明细")
For Each dr As Row In tb.GetCheckedRows  
    Dim r As Row= t.AddNew()
    r("维修编号")=dr("维修编号")
Next

如果还是慢,说明有表事件影响了,检查datarowadd、datacolchanged事件

--  作者:shyilin4
--  发布时间:2020/9/27 10:11:00
--  
加一行和赋值这两个动作是不能和在一起的,您这个比我这个更慢,我以前就是您这个改过来的
--  作者:有点蓝
--  发布时间:2020/9/27 10:24:00
--  
说明有表事件影响了,检查datarowadd、datacolchanged事件


--  作者:shyilin
--  发布时间:2020/9/27 23:11:00
--  
  在DataColChanged 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建文本文档 (2).txt


--  作者:有点蓝
--  发布时间:2020/9/28 8:43:00
--  
如果经常要这样几十几百行的新增,建议把【总维修单合计配件_无配件】表数据加载进来使用使用,直接find查询