以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  切换按钮  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=189215)

--  作者:edisontsui
--  发布时间:2023/11/17 8:14:00
--  切换按钮
With Tables("五金模具项目进度")
    .MergeMode = MergeModeEnum.Free
    .MergeCols.Clear()
    .MergeCols.Add("客户项目编号")
    .MergeCols.Add("零件序号")
    .MergeCols.Add("零件编号")
    .MergeCols.Add("模具名称")
    .MergeSort = ""
    .AllowMerge = True
End With
上面的代码我是放在一个按钮里面的,我希望能够每按一次,就切换一次是否执行上述代码。比如,按第1次,执行;按第2次,取消执行;按第3次,执行;按第4次,取消执行... ...
请问要怎样修改代码?谢谢。

--  作者:有点蓝
--  发布时间:2023/11/17 8:29:00
--  
With Tables("五金模具项目进度")
    .MergeCols.Clear()
if .AllowMerge = True
.AllowMerge = false
else
    .MergeMode = MergeModeEnum.Free
    .MergeCols.Add("客户项目编号")
    .MergeCols.Add("零件序号")
    .MergeCols.Add("零件编号")
    .MergeCols.Add("模具名称")
    .MergeSort = ""
    .AllowMerge = True
end if
End With

--  作者:edisontsui
--  发布时间:2023/11/17 10:37:00
--  
谢谢。可以了。
还有一个问题:
    Dim Filter As String = "[客户项目编号] = \'" & cr1("客户项目编号") & "\'"
    Dim drs As List(Of DataRow) = DataTables("五金模具项目进度").Select(Filter)
上面代码的字符集 drs 是没有指定排序方法的,它实际的排序是不是按照屏幕上直观看到的什么顺序就是什么顺序呢?我是希望屏幕上直观看到的什么顺序就是什么顺序,但是现在结果好像不是这样。


--  作者:有点蓝
--  发布时间:2023/11/17 10:50:00
--  

Select

以集合的形式,返回所有符合指定条件的行。

语法:

Select(Filter)
Select(Filter,Sort)

Filter: 条件表达式,请参考表达式的运算符和函数 和 条件表达式
Sort:   可选参数,指定排序方式


Dim drs As List(Of DataRow) = DataTables("五金模具项目进度").Select(Filter,"_sortkey")


--  作者:edisontsui
--  发布时间:2023/11/17 11:09:00
--  
用“上移行”、“下移行”调整过之后,会出现 sortkey 值相同的两行。那时,它又按什么来排序了呢?
--  作者:有点蓝
--  发布时间:2023/11/17 11:11:00
--  
主键值
--  作者:edisontsui
--  发布时间:2023/11/17 11:28:00
--  
现在可以了,出现 sortkey 值相同的两行也都不影响结果了。谢谢。