以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]填充后行序混乱的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=11775)

--  作者:飞鱼
--  发布时间:2011/8/11 12:50:00
--  [求助]填充后行序混乱的问题
 窗口按钮写了段填充的代码:
DataTables("兼容型号自动转换").DeleteFor("[查找型号] Is Null")    \'删除空行
Dim f As New Filler     
    f.SourceTable = DataTables("字符转换")
    f.SourceCols ="转换后字符,capacity,brand"
    f.datatable = DataTables("兼容型号自动转换")
    f.DataCols ="查找型号,容量,品牌"
    f.Fill()

现在的问题是:填充到另外一个表后,当前表中的行并不是按照行的顺序填充过去的,在另一个表中发生了混乱。请问,如何保持行序不变?

另外,当填充的行比较多,几百行时,程序速度就会很慢,貌似死了一样。填充完毕后才恢复正常。
[此贴子已经被作者于2011-8-11 12:59:04编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/8/11 14:23:00
--  

自己编码填充,例如:

 

 

Dim Cols1() As String = {"来源列一","来源列二","来源列三"}
Dim
Cols2() As String = {"接收列一","接收列二","接收列三"}
For Each
dr1 As DataRow In DataTables("表A").Select("条件表达式","排序列名")
   Dim
dr2 As DataRow = DataTables("表B").AddNew()
   For
i As Integer = 0 To Cols1.Length -1
      dr2(Cols2(i)) = dr1(Cols1(i
))
   Next
Next

 

 


--  作者:飞鱼
--  发布时间:2011/8/12 13:18:00
--  
以下是引用狐狸爸爸在2011-8-11 14:23:00的发言:

自己编码填充,例如:

 

 

Dim Cols1() As String = {"来源列一","来源列二","来源列三"}
Dim
Cols2() As String = {"接收列一","接收列二","接收列三"}
For Each
dr1 As DataRow In DataTables("表A").Select("条件表达式","排序列名")
   Dim
dr2 As DataRow = DataTables("表B").AddNew()
   For
i As Integer = 0 To Cols1.Length -1
      dr2(Cols2(i)) = dr1(Cols1(i
))
   Next
Next



如果不使用这种方式,仍旧是用FILL命令,能否指定排序条件,比如按行号_Identify进行排列?

 

 


--  作者:飞鱼
--  发布时间:2011/8/12 13:18:00
--  
如果不使用这种方式,仍旧是用FILL命令,能否指定排序条件,比如按行号_Identify进行排列?
--  作者:mr725
--  发布时间:2011/8/12 13:39:00
--  
以下是引用飞鱼在2011-8-12 13:18:00的发言:
如果不使用这种方式,仍旧是用FILL命令,能否指定排序条件,比如按行号进行_Identify排列?

可以,

Dim f As New Filler     
    f.SourceTable = DataTables("字符转换")
    f.SourceCols ="_Identify,转换后字符,capacity,brand"
    f.datatable = DataTables("兼容型号自动转换")
    f.DataCols ="_Identify,查找型号,容量,品牌"
    f.Fill()

 

但必须两个表都有_Identify列, 另外接受表已有了相同号的_Identify列时,不知道会不会有问题了???

 


--  作者:yangming
--  发布时间:2011/8/12 13:42:00
--  
以下是引用飞鱼在2011-8-12 13:18:00的发言:
如果不使用这种方式,仍旧是用FILL命令,能否指定排序条件,比如按行号_Identify进行排列?

没办法,只能是自己编代码了