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


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

主题:关于列设置

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


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

如果你还不会的话,建议你重新学习foxtable基础语法,把基础打扎实了,再继续。现在你是连别人的代码都看不懂是什么意思,怎么开发?

 


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


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

以下是引用裴保民在2019/3/22 11:58:00的发言:
按照您的思路写的代码,运行还是异常

 

1、现在你是显示【客户表】的时候有问题,还是设置的时候有问题?

 

2、如果是显示有问题,看22楼代码。如果写了代码还不对,就是你表格数据有问题;

 

3、如果是设置的时候显示有问题,请用 user.name 判断用户和现实设置的列。


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


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

修改保存代码

 

Dim clist As WinForm.CheckedListBox = e.Form.Controls("lieCheckedListBox")
Dim szlxs As WinForm.RadioButton = e.Form.Controls("shezhiliekuanyushunxu")
Dim xsyycl As WinForm.RadioButton = e.Form.Controls("xianshiyuyincanglie")
If xsyycl.Checked Then
    For i As Integer = clist.Items.Count - 1 To 0 Step -1
        CurrentTable.Cols(clist.items(i)).Visible = not clist.GetItemChecked(i)
    Next
End If
Dim t As WinForm.Table = e.Form.Controls("Table1")
Dim fdr As DataRow = DataTables("列设置").Find("表名 = '" & t.Table.DataTable.Name & "'And  用户 ='" & User.Name &"'")
If fdr Is Nothing Then
    fdr = DataTables("列设置").AddNew
    fdr("表名") =t.Table.DataTable.Name
    fdr("用户") = User.Name
End If
fdr("列设置") = t.Table.GetColVisibleWidth
For Each dr As DataRow In DataTables("列设置").Select(" 用户 ='" & User.Name &"'")
    If Tables.Contains(dr("表名")) Then
        Tables(dr("表名")).SetColVisibleWidth(dr("列设置"))
    End If
Next


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


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

我测试没问题,请照抄这段代码

 

Dim clist As WinForm.CheckedListBox = e.Form.Controls("lieCheckedListBox")
Dim szlxs As WinForm.RadioButton = e.Form.Controls("shezhiliekuanyushunxu")
Dim xsyycl As WinForm.RadioButton = e.Form.Controls("xianshiyuyincanglie")
If xsyycl.Checked Then
    For i As Integer = clist.Items.Count - 1 To 0 Step -1
        CurrentTable.Cols(clist.items(i)).Visible = not clist.GetItemChecked(i)
    Next
End If
Dim t As WinForm.Table = e.Form.Controls("Table1")
Dim fdr As DataRow = DataTables("列设置").Find("表名 = '" & t.Table.DataTable.Name & "'And  用户 ='" & User.Name &"'")
If fdr Is Nothing Then
    fdr = DataTables("列设置").AddNew
    fdr("表名") =t.Table.DataTable.Name
    fdr("用户") = User.Name
End If
fdr("列设置") = t.Table.GetColVisibleWidth
For Each dr As DataRow In DataTables("列设置").Select(" 用户 ='" & User.Name &"'")
    If Tables.Contains(dr("表名")) Then
        Tables(dr("表名")).SetColVisibleWidth(dr("列设置"))
    End If
Next


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


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

改一下

 

Dim t As Table = e.Form.controls("Table1").Table
Dim c As Col = t.cols(cst.Items(e.index))
t.Select(-1, c.Index)
t.LeftVisibleCol = c.Index

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


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

 

做一个例子发上来测试

 

 


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


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

要说多少次?改成这样啊

 

Dim t As Table = e.Form.controls("Table1").Table
Dim cst As WinForm.CheckedListBox = e.sender
Dim c As Col = t.cols(cst.Items(e.index))
t.Select(-1, c.Index)
t.LeftVisibleCol = c.Index

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