Foxtable(狐表)用户栏目专家坐堂 → 关于列设置


  共有5358人关注过本帖树形打印复制链接

主题:关于列设置

帅哥哟,离线,有人找我吗?
裴保民
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
关于列设置  发帖心情 Post By:2019/3/17 23:14:00 [显示全部帖子]

在列设置此窗体的保存设置按钮写了如下代码,运行后怎么不保存相对应的表呢?

Dim clist As WinForm.CheckedListBox = e.Form.Controls("lieCheckedListBox")
For i As Integer = clist.Items.Count - 1 To 0 Step -1
    CurrentTable.Cols(i).Visible = not clist.GetItemChecked(i)
Next
Dim t As WinForm.Table = e.Form.Controls("Table1")
Dim fdr As DataRow = DataTables("列设置").Find("表名 = '" & t.Table.DataTable.Name & "'")
If fdr Is Nothing Then
    fdr = DataTables("列设置").AddNew
    fdr("表名") =t.Table.DataTable.Name
 End If
fdr("列设置") = CurrentTable.GetColVisibleWidth

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:列设置 (1).rar



[此贴子已经被作者于2019/3/17 23:15:15编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/3/18 22:09:00 [显示全部帖子]

Dim szldkdysx As WinForm.RadioButton = e.Form.Controls("szldkdysxRadioButton")
Dim liexz As WinForm.CheckedListBox = e.Form.Controls("lieCheckedListBox")
Dim t As WinForm.Table = e.Form.Controls("Table1")
If szldkdysx.Checked=True Then
e.Form.Controls("tzlsxGroupBox").Enabled=True
e.Form.Controls("ycyxslGroupBox").Enabled=False
e.Form.Controls("sjldczGroupBox").Enabled=False
 liexz.Value =""
    liexz.SelectedValue=""
End If
Dim s As String
s = ""
For Each c As Col In t.Table.cols
    If c.Visible Then
        s &= c.name & "|"
    End If
Next

liexz.Items.Clear
liexz.ComboList=s

在单选框的CheckedChanged事件中写了如上代码运行后窗体表闪屏的特别厉害怎么处理?
如果改为下面的代码会弹出
SystemReady False
For Each c As Col In t.Table.cols
    If c.Visible Then
        s &= c.name & "|"
    End If
Next
SystemReady = True


图片点击可在新窗口打开查看此主题相关图片如下:456.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:457.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2019/3/18 22:19:14编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/3/19 9:28:00 [显示全部帖子]

不同角色进去后指定列不加载怎么设置?

 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/3/20 0:20:00 [显示全部帖子]

出现错误对话框看看是哪的错误呢?在单选框的CheckedChanged事件中写了如下代码
Dim ldsxyyc As WinForm.RadioButton = e.Form.Controls("ldxsyycRadioButton")
Dim liexz As WinForm.CheckedListBox = e.Form.Controls("lieCheckedListBox")
Dim t As WinForm.Table = e.Form.Controls("Table1")
Dim str As String = ""
If ldsxyyc .Checked=True Then
    e.Form.Controls("tzlsxGroupBox").Enabled=False
    e.Form.Controls("ycyxslGroupBox").Enabled=True
    e.Form.Controls("sjldczGroupBox").Enabled=True
    liexz.Value =""
    liexz.SelectedValue=""
End If
liexz.CheckOnClick=True
Dim dtshb As WinForm.Table = e.Form.Controls("Table1")
For Each c As Col In t.Table.Cols
    If t.Table.DataTable.Name ="客户资料" Then
        If _UserGroup = "数据操作员" Then
            If c.name <> "身份证号" AndAlso c.name <> "客户主手机号" AndAlso  c.name <>"第二手机号" AndAlso c.name <> "第三手机号"  Then
                str &= c.Name & "(" & c.Caption & ")|"
            End If
        ElseIf _UserGroup = "系统管理员" OrElse _UserGroup = "数据管理员"
            If c.name <>"身份证号掩码显示" AndAlso c.name <> "客户主手机号掩码显示" AndAlso c.name <> "第二手机号掩码显示"  AndAlso  c.name <> "第三手机号掩码显示" Then
                str &= c.Name & "(" & c.Caption & ")|"
            End If
          End If
   Else
   str &= c.Name & "(" & c.Caption & ")|"
 End If
Next
e.Form.Controls("lieCheckedListBox").ComboList = str.Trim("|")
'Dim clist As WinForm.CheckedListBox = e.Form.Controls("lieCheckedListBox")
   For Each c As Col In t.Table.Cols
   If t.Table.DataTable.Name ="客户资料" Then
        If _UserGroup = "数据操作员" Then
            If c.name <> "身份证号" AndAlso c.name <> "客户主手机号" AndAlso  c.name <>"第二手机号" AndAlso c.name <> "第三手机号"  Then
                liexz .SetItemChecked(c.Index, not c.Visible)
               End If
        ElseIf _UserGroup = "系统管理员" OrElse _UserGroup = "数据管理员"
            If c.name <>"身份证号掩码显示" AndAlso c.name <> "客户主手机号掩码显示" AndAlso c.name <> "第二手机号掩码显示"  AndAlso  c.name <> "第三手机号掩码显示" Then
                 liexz .SetItemChecked(c.Index, not c.Visible)
              End If
        End If
   Else
 liexz .SetItemChecked(c.Index, not c.Visible)
End If
Next


如果操作的表是“客户资料"就会错误的

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190320001117.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190320001139.png
图片点击可在新窗口打开查看





操作“客户资料”表时,重新打开后除了那几个列外所有的隐藏列都加上了,按“全选按钮”后隐藏列时,有两个列不隐藏,不知道什么原因
其他表都正常


[此贴子已经被作者于2019/3/20 9:10:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/3/20 15:21:00 [显示全部帖子]

(1)进去后选择“客户资料窗体”在选择用户类别组合框选择用户类别“数据操作员”后 ,单击设置列按钮;
(2)交替选择"设置列宽度与顺序"和“显示与隐藏列”就会弹出错误提示框如下

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190320150530.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190320150513.png
图片点击可在新窗口打开查看

(3)我想实现当不同用户类别时,电话1、电话2、电话3、电话4、电话5、电话6 在列表框中显示或不显示
当选择“数据操作员”时电话1、电话2、电话3在列表框中不显示,只在列表框中显示电话4、电话5、电话6列
当选择“数据管理员和系统管理员”时电话4、电话5、电话6在列表框中不显示,只在列表框中显示电话1、电话2、电话3列
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:列设置 (1).rar


[此贴子已经被作者于2019/3/20 15:23:13编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/3/20 15:55:00 [显示全部帖子]

y什么
也没声明y的连梁呢?
拷贝过去后无法保存代码

[此贴子已经被作者于2019/3/20 15:56:16编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/3/20 16:41:00 [显示全部帖子]

甜老师还设置哪了,怎么换一个原来的程序就不行了呢?

 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/3/21 9:50:00 [显示全部帖子]

甜老师我我修改成已不同身份登录显示不同列后保存列设置正常,可是当重新打开窗体或重新登录程序后就恢复保存前的情况了,麻烦看看哪的一样呢?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:列设置.foxdb



 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/3/21 13:56:00 [显示全部帖子]

关于AfterLoad事件对“客户资料表”的的设置如下,运行后还是不行
If sjdcxzb="客户资料窗体" Then
    t.DataSource =DataTables("客户资料")
    t.Filter = forms("客户资料窗体").Controls("Table1").Table.Filter
    t.SetColVisibleWidth(forms("客户资料窗体").Controls("Table1").Table.GetColVisibleWidth())
    s = ""
    For Each c As Col In t.cols
        c.visible = True
        If  c.name = "电话1" OrElse c.name = "电话2" OrElse c.name = "电话3"  Then
            If User.Name = "abc" Then
                c.visible = False
            Else
                c.Visible = True
            End If
        End If
        If  c.name = "电话1掩码" OrElse c.name = "电话2掩码" OrElse c.name = "电话3掩码" Then
            If User.Name <> "开发者" AndAlso User.Name <> "管理员"  Then
                c.visible = False
            Else
                c.visible = True
            End If
        End If
    Next
    s = ""
    For Each c As Col In t.cols
        If c.visible Then
            s = s & "|" & c.name
        End If
    Next
    lieming.ComboList=s


 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2019/3/21 17:23:00 [显示全部帖子]

甜老师您发的实例和我的思路不一样呀

我的那个程序现在列设置是保存了,但重新启动程序或程序加载窗体后有恢复原状了,是哪的原因呢?

 回到顶部
总数 21 1 2 3 下一页