以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于点击复制的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=119985)

--  作者:liulovexiu
--  发布时间:2018/6/5 11:40:00
--  关于点击复制的问题
能帮我写个代码吗,研究了大半天都不会。

我想点击表“订单管理” 第一列的图标,窗口弹出一个确定下单 和 取消的提示窗口,点击确认就把当前行 几列的数据 复制到 表“平开门生产单中”对应的列 ,并且 “订单管理” 复制的当前行就标注成黄色,


图片点击可在新窗口打开查看此主题相关图片如下:aa.png
图片点击可在新窗口打开查看



下面这个代码是我找人家的,类似于这种形式。

If MessageBox.Show("确定下单?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question)=DialogResult.Yes Then
    Dim t1 As Table = Tables("订单管理") \'指定数据来源
    
    Dim t2 As DataTable = DataTables("平开门生产单") \'指定数据接收表
    Dim cs1 = "门型,颜色,料型".split(",")
    Dim cs2 = "门型,颜色,料型".split(",") \'指定数据接收列
    
    For i As Integer = 0 To 10
        Dim ndr As DataRow = t2.AddNew
        For j As Integer = 0 To cs1.length-1
            ndr(cs2(j)) = t1.rows(i)(cs1(j))
        Next
    Next
End If


但上面的代码是复制10行的数据!

希望大神帮我出格代码
[此贴子已经被作者于2018/6/5 11:40:56编辑过]

--  作者:有点甜
--  发布时间:2018/6/5 12:11:00
--  
If MessageBox.Show("确定下单?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question)=DialogResult.Yes Then
    Dim t1 As Table = Tables("订单管理") \'指定数据来源  
    Dim t2 As DataTable = DataTables("平开门生产单") \'指定数据接收表
    Dim cs1 = "门型,颜色,料型".split(",")
    Dim cs2 = "门型,颜色,料型".split(",") \'指定数据接收列
 
    Dim ndr As DataRow = t2.AddNew
    For j As Integer = 0 To cs1.length-1
        ndr(cs2(j)) = t1.current(cs1(j))
    Next
   
End If

--  作者:liulovexiu
--  发布时间:2018/6/5 12:28:00
--  
你好,怎么把本行同时加上颜色呢?

我想点击左侧列的”下单"列的图标执行,应该怎么改?麻烦了
[此贴子已经被作者于2018/6/5 12:31:50编辑过]

--  作者:有点甜
--  发布时间:2018/6/5 12:31:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/0656.htm

 


--  作者:liulovexiu
--  发布时间:2018/6/5 12:43:00
--  
我想点击左侧列的”下单"列的图标执行,应该怎么改?麻烦了
--  作者:liulovexiu
--  发布时间:2018/6/5 13:08:00
--  
If e.Col.name = "下单" Then
If MessageBox.Show("确定下单?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question)=DialogResult.Yes Then
    Dim t1 As Table = Tables("订单管理") \'指定数据来源   
    Dim t2 As DataTable = DataTables("平开门生产单") \'指定数据接收表
    Dim cs1 = "门型,颜色,料型".split(",")
    Dim cs2 = "门型,颜色,料型".split(",") \'指定数据接收列
  
    Dim ndr As DataRow = t2.AddNew
    For j As Integer = 0 To cs1.length-1
        ndr(cs2(j)) = t1.current(cs1(j))
    Next
    
End If
End If

为什么我点击后复制到“平开门生产单”是在倒数第第一行,然后再点击,又增加一行?前面几行都是空的

--  作者:有点甜
--  发布时间:2018/6/5 14:35:00
--  

1、先删除全部空白行;

 

2、修改代码

 

If e.Col.name = "下单" Then
    If MessageBox.Show("确定下单?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question)=DialogResult.Yes Then
        Dim t1 As Table = Tables("订单管理") \'指定数据来源
        Dim t2 As DataTable = DataTables("平开门生产单") \'指定数据接收表
        Dim cs1 = "订单号,门型,颜色,料型".split(",")
        Dim cs2 = "订单号,门型,颜色,料型".split(",") \'指定数据接收列
       
        Dim ndr As DataRow = t2.find("订单号=\'" & t1.current("订单号") & "\'")
        If ndr Is Nothing Then ndr = t2. AddNew
        For j As Integer = 0 To cs1.length-1
            ndr(cs2(j)) = t1.current(cs1(j))
        Next
       
    End If
End If