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


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

主题:关于列设置

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/18 9:30:00 [显示全部帖子]

1、你设置了以后,就保存了啊。去你的表格那里看数据;

 

2、你把表名写错了啊

 

Dim bm As String = ""
If sjdcxzb="客户资料窗体" Then
   
ElseIf sjdcxzb="销售窗体" Then
    bm = "入库表"
ElseIf sjdcxzb="出库窗体" Then
    bm = "出库表"
End If

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 Table = Tables(bm)
Dim fdr As DataRow = DataTables("列设置").Find("表名 = '" & t.DataTable.Name & "'")
If fdr Is Nothing Then
    fdr = DataTables("列设置").AddNew
    fdr("表名") =t.DataTable.Name
End If

fdr("列设置") = CurrentTable.GetColVisibleWidth

 

3、各个窗口,在afterload事件,要写设置代码啊,认认真真看懂实例

 

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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/19 9:40:00 [显示全部帖子]

以下是引用裴保民在2019/3/19 9:28:00的发言:
不同角色进去后指定列不加载怎么设置?

 

你的列设置表那里,加入一个【用户】列,填入对应的用户。

 

查找对应用户的数据,设置,即可。

 

不然,你就参考这里处理,如 http://www.foxtable.com/webhelp/scr/1600.htm

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/20 9:26:00 [显示全部帖子]

上传对应的实例测试

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/20 15:46:00 [显示全部帖子]

Dim xsyyc As WinForm.RadioButton = e.Form.Controls("xianshiyuyincanglie")
Dim liexz As WinForm.CheckedListBox = e.Form.Controls("lieCheckedListBox")
Dim t As WinForm.Table = e.Form.Controls("Table1")
Dim str As String = ""
If xsyyc .Checked=True Then
    e.Form.Controls("xiangyouButton").Enabled=False
    e.Form.Controls("xiangzuoButton").Enabled=True
    e.Form.Controls("yincangsuoxuanlie").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 y Then
            If c.name <> "电话1" AndAlso c.name <> "电话2" AndAlso  c.name <>"电话3"  Then
                str &= c.name & "|"
            End If
        ElseIf y OrElse y Then
            If c.name <>"电话4" AndAlso c.name <> "电话5" AndAlso c.name <> "电话6" Then
                str &= c.name & "|"
            End If
            ''Return
        End If
    Else
        str &= c.name & "|"
    End If
Next


e.Form.Controls("lieCheckedListBox").ComboList = str.trim("|")
Dim ary = str.split("|")
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 y Then
            If c.name <> "电话1" AndAlso c.name <> "电话2" AndAlso c.name <>"电话3" Then
                Dim i = array.Indexof(ary, c.name)
                liexz .SetItemChecked(i, not c.Visible)
            End If
        ElseIf y OrElse y
            If c.name <> "电话4" AndAlso c.name <> "电话5" AndAlso c.name <>"电话6" Then
                Dim i = array.Indexof(ary, c.name)
                liexz .SetItemChecked(i, not c.Visible)
            End If
        End If
    Else
        Dim i = array.Indexof(ary, c.name)
        If i >= 0 Then
            liexz .SetItemChecked(c.Index, not c.Visible)
        End If
    End If
Next


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/20 15:58:00 [显示全部帖子]

 

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

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/20 16:52:00 [显示全部帖子]

以下是引用裴保民在2019/3/20 16:41:00的发言:
甜老师还设置哪了,怎么换一个原来的程序就不行了呢?

 

只修改了checkedChanged事件。如果还有问题,具体事例发上来测试。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/21 14:39:00 [显示全部帖子]

1、给在【列设置】那里,要加入【用户】列啊,填写张三、李四、aaa、开发者、管理员等信息啊;

 

2、在afterload事件,查找【列设置】的数据,设置进去啊。参考下面啊,要说多少次?

 

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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/21 17:40:00 [显示全部帖子]

以下是引用裴保民在2019/3/21 17:23:00的发言:
甜老师您发的实例和我的思路不一样呀

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

 

看18楼的项目的各个窗口的afterload事件。

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/21 23:32:00 [显示全部帖子]

客户窗口afterload事件

 

Dim t As Table = e.form.Controls("Table1").Table
Dim fdr As DataRow = DataTables("列设置").Find("表名 = '" & t.Name & "'And  用户 ='" & User.Name &"'")
If fdr IsNot Nothing Then
    t.SetColVisibleWidth(fdr("列设置"))

Else

    msgbox("没找到")
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/22 11:47:00 [显示全部帖子]

1、根据不同的用户显示不同的列表啊,如

 

If user.name="xxx" then

 

elseIf user.name="yyy" Then

 

End If

 

2、根据自己的需求,不显示你对应的列出来

 

3、把设置后的结果,保存到表格里面,然后用 22楼的那种代码加载表列啊


 回到顶部
总数 18 1 2 下一页