以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]用户自定义列位置和列宽的保存问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=126023)

--  作者:81538475
--  发布时间:2018/10/12 11:53:00
--  [求助]用户自定义列位置和列宽的保存问题
如何让用户自定义的列位置和列宽能够保存下来,而且不会在更新的时候被替换掉。
[此贴子已经被作者于2018/10/12 11:53:38编辑过]

--  作者:有点甜
--  发布时间:2018/10/12 12:02:00
--  

单独用一个表保存,如

 

下载信息  [文件大小:328.0 KB  下载次数:1]
图片点击可在新窗口打开查看点击浏览该文件:显示隐藏列.table


--  作者:81538475
--  发布时间:2018/10/12 12:24:00
--  
可以做成txt文件吗
--  作者:有点甜
--  发布时间:2018/10/12 12:33:00
--  
以下是引用81538475在2018/10/12 12:24:00的发言:
可以做成txt文件吗

 

不能用access外部数据源?更简便。


--  作者:81538475
--  发布时间:2018/10/12 12:40:00
--  
是用的sql  
但是总觉得多一张表,加载速度又要降低一些

--  作者:81538475
--  发布时间:2018/10/12 14:36:00
--  
如果需要加一列对登陆用户的判断,应该如何修改呀。
[此贴子已经被作者于2018/10/12 14:36:43编辑过]

--  作者:81538475
--  发布时间:2018/10/12 15:09:00
--  
For Each t As Table In Tables
    msgbox(t.name)
    Dim fdr As List(Of DataRow) = DataTables("列设置").Select("表名 = \'" & t.Name & "\' AND 登录名 = \'" & user.Name & "\'")
    
    If fdr.Count = 0 Then
   Dim DR As DataRow = DataTables("列设置").AddNew
     dr("登录名") = user.Name
     dr("表名") = t.Name
     dr("设置") = t.GetColVisibleWidth
  Else 
    For Each DR As DataRow In FDR
        
        dr("设置") = t.GetColVisibleWidth
        \'
     Next
       
    End If
Next
这样不知道有没有问题


--  作者:有点甜
--  发布时间:2018/10/12 15:11:00
--  
以下是引用81538475在2018/10/12 14:36:00的发言:
如果需要加一列对登陆用户的判断,应该如何修改呀。
[此贴子已经被作者于2018/10/12 14:36:43编辑过]

 

1、加一列【用户】列;

 

2、登陆成功以后,根据用户列获取表数据,设置各个表的显示列;(比原来多了一步筛选而已)

 

3、退出的时候,也根据用户修改或者增加原来的数据。

 

请看懂实例,然后自行测试。


--  作者:81538475
--  发布时间:2018/10/12 16:00:00
--  
解决了
[此贴子已经被作者于2018/10/12 16:04:17编辑过]

--  作者:有点甜
--  发布时间:2018/10/12 16:05:00
--  

贴出你 BeforeCloseProject 写的代码