以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  赋值出错  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=149385)

--  作者:shyilin
--  发布时间:2020/4/30 9:45:00
--  赋值出错

内部函数

 Dim xzb As  Table =Args(0)\'选择窗口
Dim szl() As  String =Args(1)\'赋值列
Dim xrb As Table = Args(2) \'写入表
xrb.AddNew(xzb.DataTable.Select("","", DataRowState.Modified).count)
Dim i As Integer = xrb.Rows.Count-1
xrb.stopRedraw
For Each dr As DataRow In xzb.DataTable.Select("","", DataRowState.Modified)

    Dim r As Row = xrb.rows(i)
    For Each s As String In szl
        r(s) = dr(s)
    Next
   i=i-1
Next
xrb.resumeRedraw
xrb.DataTable.Save()
xzb.DataTable.AcceptChanges()




正常添加时没有问题,但是写入表如果进行筛选后再添加就会出错,添加3行数据  只有两行,一行空的,请老师指点一下

--  作者:shyilin
--  发布时间:2020/4/30 10:05:00
--  
 ?
--  作者:shyilin
--  发布时间:2020/4/30 10:25:00
--  
 没人回复吗?
--  作者:有点蓝
--  发布时间:2020/4/30 10:55:00
--  
按什么条件筛选的,如果新增的行没有录入符合这个条件的数据,是不会显示的。取消筛选就有了

Dim xzb As  Table =Args(0)\'选择窗口
Dim szl() As  String =Args(1)\'赋值列
Dim xrb As Table = Args(2) \'写入表
xrb.stopRedraw
Dim r As Row
For Each dr As DataRow In xzb.DataTable.Select("","", DataRowState.Modified)
    r = xrb.AddNew
    For Each s As String In szl
        r(s) = dr(s)
    Next
Next
xrb.resumeRedraw
xrb.DataTable.Save()
xzb.DataTable.AcceptChanges()

--  作者:shyilin
--  发布时间:2020/4/30 12:49:00
--  
 那要怎么解决?防止这样的问题呢
--  作者:有点蓝
--  发布时间:2020/4/30 13:48:00
--  
1、不要筛选
2、给筛选条件使用的列赋值符合筛选条件的值