以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  逻辑值多行选择并复制行问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=160337)

--  作者:papa
--  发布时间:2021/1/29 13:47:00
--  逻辑值多行选择并复制行问题
请问来源表字段“选”为逻辑值,选择后复制到接受表,代码保错提升请问应该怎样转换正确
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:窗口,BOM,Button2,Click
详细错误信息:
从字符串“选”到类型“Double”的转换无效。
输入字符串的格式不正确。





Dim Cols1() As String = {"cInvCode","cInvName","子项物料编码","子项物料名称"}   \'---指定数据来源列
Dim Cols2() As String = {"cInvCode","cInvName","WLcInvCode","wlcInvName"}    \'----指定数据接收列

For i As Integer = Tables("K3_BOM").TopPosition To Tables("K3_BOM").BottomPosition Step 1
    Dim dr1 As Row = Tables("K3_BOM").Rows(i)
    Dim dr2 As Row = Tables("ER_WLJH").AddNew()
    For i2 As Integer = 0 To Cols1.Length -1
        If i2 ="选" Then
            Continue For
        End If
        dr2(Cols2(i2)) = dr1(Cols1(i2))   \'---复制到指定的表
        dr2("DATE") = Date.now   \'---在录入日期列自动填入当前日期
    Next
Next

--  作者:有点蓝
--  发布时间:2021/1/29 14:06:00
--  
    For i2 As Integer = 0 To Cols1.Length -1
        If dr1("选") =true Then
            Continue For
        End If

--  作者:papa
--  发布时间:2021/1/29 14:56:00
--  
逻辑值选择转型没问题了,但是只能复制一行不能多选复制,请问蓝老师多行复制代码怎么改,是哪里错误

Dim Cols1() As String = {"cInvCode","cInvName","子项物料编码","子项物料名称"}   \'---指定数据来源列
Dim Cols2() As String = {"cInvCode","cInvName","WLcInvCode","wlcInvName"}    \'----指定数据接收列

For i As Integer = Tables("K3_BOM").TopPosition To Tables("K3_BOM").BottomPosition Step 1
    Dim dr1 As Row = Tables("K3_BOM").Rows(i)
    Dim dr2 As Row = Tables("ER_WLJH").AddNew()
    For i2 As Integer = 0 To Cols1.Length -1
        If dr1("选") =True Then
            Continue For
        End If
        dr2(Cols2(i2)) = dr1(Cols1(i2))   \'---复制到指定的表
        dr2("DATE") = Date.now   \'---在录入日期列自动填入当前日期
    Next
Next


--  作者:有点蓝
--  发布时间:2021/1/29 15:06:00
--  
代码没有问题,除非只选了一行,或者只有一行是勾选的