Foxtable(狐表)用户栏目专家坐堂 → [求助]查询与赋值新增行并存的问题


  共有3323人关注过本帖平板打印复制链接

主题:[求助]查询与赋值新增行并存的问题

帅哥哟,离线,有人找我吗?
积水成渊
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
[求助]查询与赋值新增行并存的问题  发帖心情 Post By:2018/9/26 14:30:00 [只看该作者]

想弄一个功能,选中表中的几行,然后新增这几行,最后将选中行的内容赋值给新增的几行中,但是我写完代码执行后,发现效率低的可怜,在论坛也找了一些案例看了下,还是没有把问题解决好,请老师们帮我看下代码该如何改进:
Dim Result As DialogResult
Result = MessageBox.Show("是否要执行此操作", "提示", MessageBoxButtons.YesNo)
If Result = DialogResult.No Then
    Return
Else
    Dim t1 As Table = Tables("A")
    Dim mdbm As String
    If InputValue(mdbm, "编码输入","可以输入多个编码,用逗号进行分隔如:1001,1005,1008") Then
        Dim Parts() As String = mdbm.Split(",")
        If t1.Current Is Nothing Then Return 
        If t1.TopPosition < 0 Then Return   '如果选定区域不包括数据行
        Dim it As Win.Data.ITable = SYS.Tables(t1.Name)
        For i As Integer = it.TopRow To it.BottomRow
            Dim r As Win.Data.IRow = it.Rows(i)
            If r.Visible = False Then Continue For
            If r.IsNull("月份")= True  Then Continue For
            For Each nm As String In Parts
                Dim dr1 As Row = t1.AddNew
                For Each c As Col In t1.Cols
                    If c.name = "任务一_完成率" orelse c.name = "名称" Then Continue For
                    dr1(c.name) = r(c.name)
                    'messagebox.show(r(c.name))
                    dr1("编码") = nm
                    dr1("取值结果") = nothing
                    dr1("计算结果") = nothing
                    
                Next
            Next
        Next
    End If


End If
MessageBox.Show("执行完毕,请检查是否有错误!", "提示")

 回到顶部