以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于自动合并  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=40838)

--  作者:东坡一剑
--  发布时间:2013/10/1 15:31:00
--  关于自动合并

我用下面一段代码合并行,在按钮中,每当新的被合并的行与并入的行不相邻时,直接点击按钮不起作用,只有将合并方式切换到别的合并方式然后再点击按钮才起作用。而将这段代码放到datacolchanged,设定触发事件的列为“装箱号”,当被合并行不相邻时,根本无法触发事件。

一言以蔽之,我想不管行是否相邻,希望某列的值改变后能够自动合并相关行,上述手段都是不成功的。

请教高手,有没有成功的手段?

 

    Dim sts1 As String() = {"装箱号","产品名称","货号","颜色","尺码号","库房","库区","库位"}
    For i As Integer = 0 To sts1.length - 1
        .Cols(sts1(i)).Move(i)
    Next
    Dim sts2 As String() = {"单号","产品条码"}
    For i As Integer = 0 To sts2.length - 1
        .Cols(sts2(i)).Visible = False
    Next
    .MergeMode = MergeModeEnum.Standard
    .MergeCols.Clear()
    .MergeCols.Add("装箱号")
    .MergeCols.Add("产品名称")
    .MergeCols.Add("货号")
    .MergeCols.Add("颜色")
    .MergeCols.Add("尺码号")
    .MergeSort = "装箱号,产品名称,货号,颜色,尺码号"
    .AllowMerge = True
End With


--  作者:有点甜
--  发布时间:2013/10/1 15:43:00
--  

 测试了一下,把代码改一下就行了。

 

    .Sort = "装箱号,产品名称,货号,颜色,尺码号"

    .MergeMode = MergeModeEnum.Standard
    .MergeCols.Clear()
    .MergeCols.Add("装箱号")
    .MergeCols.Add("产品名称")
    .MergeCols.Add("货号")
    .MergeCols.Add("颜色")
    .MergeCols.Add("尺码号")
    .MergeSort = "装箱号,产品名称,货号,颜色,尺码号"
    .AllowMerge = True


--  作者:东坡一剑
--  发布时间:2013/10/1 15:49:00
--  

非常感谢!


--  作者:jianjingmaoyi
--  发布时间:2013/10/2 9:19:00
--  
合并的排序肯定存在问题!  我已经提过N多次了.
--  作者:有点甜
--  发布时间:2013/10/2 9:24:00
--  
以下是引用jianjingmaoyi在2013-10-2 9:19:00的发言:
合并的排序肯定存在问题!  我已经提过N多次了.

 

图片点击可在新窗口打开查看 呵呵。