以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何禁止重置某个数据列  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=161245)

--  作者:edisontsui
--  发布时间:2021/3/10 17:10:00
--  如何禁止重置某个数据列
日常工作->数据下面有一个“重置列”按钮,我想在这里不允许对某个数据表的某个数据列进行重置,请问代码该如何写?谢谢。
--  作者:有点蓝
--  发布时间:2021/3/10 17:13:00
--  
if currenttable.name = "某某表" andalso currenttable.cols(currenttable.colsel).name = "某某列" then return
原重置列代码

--  作者:edisontsui
--  发布时间:2021/3/11 8:26:00
--  
谢谢。
--  作者:edisontsui
--  发布时间:2021/4/23 14:51:00
--  
请问上述2楼的代码要放在哪个事件里面去?
--  作者:有点蓝
--  发布时间:2021/4/23 15:11:00
--  
导入系统菜单,放到原“重置列”按钮代码
--  作者:edisontsui
--  发布时间:2021/4/23 15:13:00
--  
我把它放在 reset 的 click 事件里面去,但是没有效果,一按重置这个按钮,还是会发生变化。
--  作者:有点蓝
--  发布时间:2021/4/23 15:24:00
--  
更改后的 reset 的 click 事件完整代码发上来看看
--  作者:edisontsui
--  发布时间:2021/4/23 15:51:00
--  
\'此代码针对所有数据行进行重置 2020/6/20注释
\'If CurrentTable IsNot Nothing AndAlso CurrentTable.ColSel >= 0 Then
\'    Dim dc As DataCol = CurrentTable.Cols(CurrentTable.ColSel).DataCol
\'    dc.RaiseDataColchanged()
\'End If

\'此代码针对筛选出的数据行进行重置 2020/6/20增加
If CurrentTable IsNot Nothing AndAlso CurrentTable.ColSel >= 0 Then
    Dim dc As DataCol = CurrentTable.Cols(CurrentTable.ColSel).DataCol
    dc.RaiseDataColchanged(CurrentTable.filter)
End If

\'不允许对某个数据表的某个数据列进行重置
If CurrentTable.name = "JP944任务单" AndAlso CurrentTable.cols(CurrentTable.colsel).name = "票号" Then Return  
If CurrentTable.name = "JPK612任务单" AndAlso CurrentTable.cols(CurrentTable.colsel).name = "装配票号" Then Return
If CurrentTable.name = "工位912" AndAlso CurrentTable.cols(CurrentTable.colsel).name = "票号" Then Return
If CurrentTable.name = "接头巴任务单" AndAlso CurrentTable.cols(CurrentTable.colsel).name = "装配票号" Then Return
If CurrentTable.name = "弯头开料单" AndAlso CurrentTable.cols(CurrentTable.colsel).name = "生产票号" Then Return
If CurrentTable.name = "直身开料单" AndAlso CurrentTable.cols(CurrentTable.colsel).name = "生产票号" Then Return
If CurrentTable.name = "珠江弯头开料单" AndAlso CurrentTable.cols(CurrentTable.colsel).name = "生产票号" Then Return
If CurrentTable.name = "珠江直身开料单" AndAlso CurrentTable.cols(CurrentTable.colsel).name = "生产票号" Then Return

--  作者:edisontsui
--  发布时间:2021/4/23 15:53:00
--  
为什么发出去给你时“票”字变成“piao”了呢?实际代码里面是“票”字的。


--  作者:有点蓝
--  发布时间:2021/4/23 16:01:00
--  
都已经重置了,再判断有啥用啊

重置的代码放到最后
\'不允许对某个数据表的某个数据列进行重置
If CurrentTable.name = "JP944任务单" AndAlso CurrentTable.cols(CurrentTable.colsel).name = "piao号" Then Return  
If CurrentTable.name = "JPK612任务单" AndAlso CurrentTable.cols(CurrentTable.colsel).name = "装配piao号" Then Return
If CurrentTable.name = "工位912" AndAlso CurrentTable.cols(CurrentTable.colsel).name = "piao号" Then Return
If CurrentTable.name = "接头巴任务单" AndAlso CurrentTable.cols(CurrentTable.colsel).name = "装配piao号" Then Return
If CurrentTable.name = "弯头开料单" AndAlso CurrentTable.cols(CurrentTable.colsel).name = "生产piao号" Then Return
If CurrentTable.name = "直身开料单" AndAlso CurrentTable.cols(CurrentTable.colsel).name = "生产piao号" Then Return
If CurrentTable.name = "珠江弯头开料单" AndAlso CurrentTable.cols(CurrentTable.colsel).name = "生产piao号" Then Return
If CurrentTable.name = "珠江直身开料单" AndAlso CurrentTable.cols(CurrentTable.colsel).name = "生产piao号" Then Return
\'此代码针对筛选出的数据行进行重置 2020/6/20增加
If CurrentTable IsNot Nothing AndAlso CurrentTable.ColSel >= 0 Then
    Dim dc As DataCol = CurrentTable.Cols(CurrentTable.ColSel).DataCol
    dc.RaiseDataColchanged(CurrentTable.filter)
End If