以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助 自定编号 克隆问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=19574)

--  作者:yifan3429
--  发布时间:2012/5/15 0:35:00
--  求助 自定编号 克隆问题

Select e.DataCol.Name
    Case "大类"
        If e.DataRow.IsNull("大类") Then
            e.DataRow("订单编号") = Nothing
        Else
            Dim lb As String = e.DataRow("大类")
            If e.DataRow("订单编号").StartsWith(lb) = False \'如果订单编号前缀不符
                Dim max As String
                Dim idx As Integer
                max = e.DataTable.Compute("Max(订单编号)","大类 = \'" & lb & "\'") \'取得该类别的最大编号
                If max > "" Then \'如果存在最大编号
                    idx = CInt(max.Substring(4,3)) + 1 \'获得最大编号的后三位顺序号,并加1
                Else
                    idx = 1 \'否则顺序号等于1
                End If
                e.DataRow("订单编号") = lb & Format(idx,"000")
            End If
        End If
End Select

 

 

我用上述代码设计了自动编码  但是我想设计一个克隆的按钮  强制克隆上一行就好 如何实现 按钮的代码该如何写呢

 

Syscmd.Row.Clone()   还是会自动编号。

求码!

 

 

 

 

 


--  作者:程兴刚
--  发布时间:2012/5/15 7:51:00
--  
您想要重复的编码?
--  作者:yifan3429
--  发布时间:2012/5/15 9:18:00
--  

对的  因为同一订单有很多个产品   需要设计一个按钮 克隆上一行的数据  但是我设计了上述的代码后  就会自动流水号。

我的需求大概如此

我想设计一个按钮  针对性的克隆   订单编号  客户称呼  客户地址    这三个条件 其他的列不克隆、订单编号也是强制复制上一行的订单编号

不能按照

DataColChanged

 

的条件流水编号。

 

谢谢  请高手指教


--  作者:程兴刚
--  发布时间:2012/5/15 9:30:00
--  

Syscmd.Row.Clone()

CurrentTable.Current("订单编号") =CurrentTable.rows(CurrentTable.rows.Count-2)("订单编号")


--  作者:狐狸爸爸
--  发布时间:2012/5/15 11:11:00
--  

自己做个克隆行的按钮:

 

Dim r1 as row = Tables("xxx").Current

Dim r2 As Row = Tables("xxx").AddNew()

For Each c as Col in Tables("xxx").Cols

    r2(c.name) = r1(c.name)

Next


--  作者:程兴刚
--  发布时间:2012/5/15 12:01:00
--  
以下是引用狐狸爸爸在2012-5-15 11:11:00的发言:

自己做个克隆行的按钮:

 

Dim r1 as row = Tables("xxx").Current

Dim r2 As Row = Tables("xxx").AddNew()

For Each c as Col in Tables("xxx").Cols

    r2(c.name) = r1(c.name)

Next

 

您这个应该不行吧,DataColChanged事件还有代码,后面字段内容的变化,又把编号列给改写了!


--  作者:yifan3429
--  发布时间:2012/5/15 19:38:00
--  

程版的代码 和逻辑 我是看懂了 

 我这个按钮  需要克隆   订单编号  客户称呼  客户地址    这三个列 其他的列不克隆、

订单编号是有DataColChanged事件的,

大概的想法应该是 克隆制定的列   然后订单编号的列需要用到程版的这个功能。

 

继续求码  谢谢高手指教


--  作者:程兴刚
--  发布时间:2012/5/15 20:14:00
--  

Dim r1 as row = Tables("xxx").Current

Dim r2 As Row = Tables("xxx").AddNew()

r2("客户名称") = r1("客户名称")

r2("客户地址") = r1("客户地址")

r2("订单编号") =CurrentTable.rows(Cur rentTable.rows.Count-2)("订单编号")

[此贴子已经被作者于2012-5-15 23:05:44编辑过]