以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  主页面窗口中的表格不同步  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=128496)

--  作者:wmh
--  发布时间:2018/12/8 13:18:00
--  主页面窗口中的表格不同步

图片点击可在新窗口打开查看此主题相关图片如下:捕获1.png
图片点击可在新窗口打开查看
老师好!下列代码执行导入Excel数据后,合并单元格。主视图的表格执行合并操作,但窗口中的表格没有合并,附图所示。
请老师帮忙,谢谢!!!
图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看



Dim Tbl As Table=Tables("excel")
Dim Lbl As WinForm.Label=e.Form.Controls("Label1")
Dim Listb As WinForm.ListBox=e.Form.controls("listbox1")
Dim Book As New XLS.Book(lbl.Text) 
Dim Sheet As XLS.Sheet = Book.Sheets(Listb.SelectedValue)
For i As Integer=tbl.Rows.count-1 To 0 Step -1
    tbl.Rows(i).delete
Next
For n As Integer = 0 To Sheet.Rows.Count -1
    Dim r As Row = Tables("excel").AddNew()
    For m As Integer = 0 To 5
        r(Tables("excel").Cols(m).name) = Sheet(n,m).Value
    Next
Next
For j As Integer = 0 To 3
    Functions.Execute("Fill_sameStr",tbl,j)
Next
With tbl
    .MergeMode = MergeModeEnum.Standard \'标准合并模式
    .MergeCols.Clear() \'清除原来的合并列
    .MergeCols.Add(tbl.Cols(0).name) \'加入要合并的列
    .MergeCols.Add(tbl.Cols(1).name) \'加入要合并的列
    .MergeCols.Add(tbl.Cols(2).name) \'加入要合并的
    .MergeSort = tbl.Cols(0).name  & "," &  tbl.Cols(1).name  & "," & tbl.Cols(2).name                \'设置合并模式下的排序方式
    .AllowMerge = True \'启用合并模式
End With


--  作者:有点蓝
--  发布时间:2018/12/8 14:29:00
--  
后面加上

With tables("某窗口名称_Tables1")
    .MergeMode = MergeModeEnum.Standard \'标准合并模式
    .MergeCols.Clear() \'清除原来的合并列
    .MergeCols.Add(tbl.Cols(0).name) \'加入要合并的列
    .MergeCols.Add(tbl.Cols(1).name) \'加入要合并的列
    .MergeCols.Add(tbl.Cols(2).name) \'加入要合并的
    .MergeSort = tbl.Cols(0).name  & "," &  tbl.Cols(1).name  & "," & tbl.Cols(2).name                \'设置合并模式下的排序方式
    .AllowMerge = True \'启用合并模式
End With


--  作者:wmh
--  发布时间:2018/12/8 20:25:00
--  
老师,还是不行。我改为:with tables("excel")后没有起到作用。我将with ------end with 代码复制粘贴到一个命令按钮,单击命令按钮后还只是“Excel“ 这个表合并,窗体上的表不合并。还有一个情况:在Excel表的页面,我无法再次更改合并 模式:单击《切换合并模式》后合并取消,再次单击后又重新合并,无法更改该表的合并方式。

    不知道什么原因?

          请老师指点

                               谢谢!!!

--  作者:wmh
--  发布时间:2018/12/8 20:54:00
--  
我的窗口名称是“主窗口”。如下代码
With tables("主窗口_Tables1")
    .MergeMode = MergeModeEnum.Standard \'标准合并模式
    .MergeCols.Clear() \'清除原来的合并列
    .MergeCols.Add(tbl.Cols(0).name) \'加入要合并的列
    .MergeCols.Add(tbl.Cols(1).name) \'加入要合并的列
    .MergeCols.Add(tbl.Cols(2).name) \'加入要合并的
    .MergeSort = tbl.Cols(0).name  & "," &  tbl.Cols(1).name  & "," & tbl.Cols(2).name                \'设置合并模式下的排序方式
    .AllowMerge = True \'启用合并模式
End With
运行时显示:不存在名称为 主窗口_Tables1 的table




--  作者:wmh
--  发布时间:2018/12/8 21:22:00
--  
老师,可以合并了。但是两个表怎么
图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看
排序不一样?
--  作者:wmh
--  发布时间:2018/12/8 21:27:00
--  
老师,都搞定了。去掉\'   .MergeSort = tbl.Cols(0).name  & "," &  tbl.Cols(1).name  & "," & tbl.Cols(2).name    后就可以了。。。   谢谢!!!