Foxtable(狐表)用户栏目专家坐堂 → [求助]隐藏&显示记录窗口标题及行缩进等


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

主题:[求助]隐藏&显示记录窗口标题及行缩进等

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


加好友 发短信
等级:四尾狐 帖子:957 积分:8440 威望:0 精华:0 注册:2012/10/3 13:25:00
[求助]隐藏&显示记录窗口标题及行缩进等  发帖心情 Post By:2016/11/15 20:14:00 [只看该作者]

想改进一下记录窗口,达到如下效果:
1、显示&隐藏记录窗口标题列;
2、右缩进(或还原) 行首2个字符(仅在记录窗口显示或还原 缩进,主表始终不缩进);
3、显示&隐藏记录窗口内的空单元格。
请老师指教!谢谢!

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

附件:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table





 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107850 积分:548607 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/15 21:01:00 [只看该作者]

记录窗口其实就是一个表格来的,按照表格的方式处理即可
参考:

Dim bctr = e.Form.Controls("RecordGrid1").BaseControl
bctr.Rows(2).visible = False '隐藏第三行
bctr.Cols(0).visible = False '隐藏第一列,即标题

缩进可以在drawcell给内容加上2个前导空格

If e.Row.Index = e.Table.RowSel Then
    e.Text = "    " &  e.Row(e.Col.Name)
End If

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


加好友 发短信
等级:四尾狐 帖子:957 积分:8440 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2016/11/15 21:50:00 [只看该作者]

谢谢版主!
还有一点小问题,就是同一个单元格内的第二个换行符处没有缩进,如图:

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


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107850 积分:548607 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/15 22:10:00 [只看该作者]


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


加好友 发短信
等级:四尾狐 帖子:957 积分:8440 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2016/11/16 13:28:00 [只看该作者]

請版主帮忙改一下下面两段代码,只会写到这个程度了,谢谢!

1、隐藏记录窗口空行(按钮用):
Dim bctr = e.Form.Controls("RecordGrid1").BaseControl
Dim cn As String
For Each c As row In e.Form.Controls("RecordGrid1").rows
    If c = Nothing Then
        bctr.Rows(c.Index).visible = False '隐藏行
    End If    
Next


2、记录窗口单元格右缩进:
Dim Multi As String = e.Table.Current
Dim Values As String()
    Values = Multi.Split(vbcrlf)

If e.Row.Index = e.Table.RowSel Then
    e.Text = "    " &  e.Row(e.Col.Name)
End If


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107850 积分:548607 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/16 14:19:00 [只看该作者]

新手建议先按部就班看一下我们的帮助

看帮助一定要按顺序,头一两遍可以不求甚解,第三遍开始要将每个例子实际操作演练一遍,不明白的就上论坛求助。
三遍之后才开始做系统,先设计好表,想做什么功能,就做什么功能,遇到问题在帮助找答案,找不到的在论坛提问,不断遇到问题,不断解决问题,慢慢就熟悉了。
此外一定要先掌握《使用指南》,然后再看《开发指南》

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107850 积分:548607 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/16 14:36:00 [只看该作者]

If e.Row.Index = e.Table.RowSel Then
    Dim arr() As String = e.Row(e.Col.Name).Split(vbcrlf)
    Dim str As String = ""
    For Each s As String In arr
        str = str & vbcrlf &  "    " &  s.Trim(vbcr,vblf) 
    Next
    e.Text = str.TrimStart(vbcr,vblf)
End If

 回到顶部