以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [讨论] 感觉表视图的设置不太合理  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=40362)

--  作者:qw123456707
--  发布时间:2013/9/16 18:31:00
--  [讨论] 感觉表视图的设置不太合理
表视图他的操作是隐藏指定列
如果在设置好一些表图后之后,我在原表添加一列,而且只想在某个表图增加显示这一列,那就要逐个视图修改了
如果改为表图的操作是显示指定列,那就只要修个一个视图就行了(当然,如果视图要显示的列如果表中不存在,也不要报错就好。否则,我想在某视图隐藏一列,又要逐个视图修改了)

还有个小建议~:代码输入框希望可以自定义背景颜色,字体大小,颜色,这样对眼睛好些。
特别是用笔记本写代码的,代码小,长时间,眼睛容易累~
[此贴子已经被作者于2013-9-16 21:15:38编辑过]

--  作者:有点甜
--  发布时间:2013/9/16 19:31:00
--  
 表视图,不同的视图,显示的列是各不一样的,这样才是合理的。因为不知道你哪些视图需要增加/隐藏某些你增加/删除的列。

 关于你的建议:你在代码窗口那里,按住ctrl键,然后滚动鼠标滚轮,可以放大缩小代码。

--  作者:qw123456707
--  发布时间:2013/9/16 21:31:00
--  回复:(有点甜) 表视图,不同的视图,显示的列...
不太明白你的意思。。。
可能我说的不清楚,我的意思是:

假如 表1 有 a,b,c,d 四个列
隐藏a, 显示 b,c,d 保存为 视图1
隐藏b, 显示 a,c,d 保存为 视图2

后来我在 表1 添加了一列:e ,并且想在 视图1 增加显示此列,即显示 b,c,d,e 列,但 视图2 保持不变
但添加 e 列的后果是:两个视图都增加显示了 e 列。

也就是说,表视图他记录的是你隐藏哪些列
那我要达到我的效果,就要就要把两个视图都要重新设置(如果视图多的话,所有都要设置一次,很费功夫~)
所以,如果表视图他是记录你显示哪些列,我只需要设置我需要修改 视图1 就行了!

--  作者:程兴刚
--  发布时间:2013/9/16 21:34:00
--  
我基本不用表视图,代码更加灵活,甚至有更灵活的办法!
--  作者:有点甜
--  发布时间:2013/9/16 21:47:00
--  
 呵呵,经测试,确实如你所说。

 狐表的这个功能确实是不太完善,理应是保存显示的列的,而非隐藏的列。图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2013/9/16 21:48:00
--  
 可能是小bug,希望官方看到
--  作者:程兴刚
--  发布时间:2013/9/16 22:25:00
--  

保存的肯定是显示的列,而不是隐藏的列,因为您后加了列,保存表视图时,这个列根本不存在,所以您理应重新保存表视图,这个不算bug。

 

不过倒是建议改进:

 

      列属性增加一个扩展设置,暂且命名为【表视图名称】:这里自动罗列该表的表视图,允许多选、最好支持指定所在表示图的位置,也就是允许将这个列应用到多个表视图(保存列属性的时候,自动将该列添加到本列属性所指表视图的指定位置)。同时支持代码动态设置,不过实现估计有难度。


--  作者:qw123456707
--  发布时间:2013/9/17 9:05:00
--  回复:(程兴刚)保存的肯定是显示的列,而不是隐藏的...
我不太明白程总您的意思。。。
就是说,假如一个表有10个视图,现在在表里添加一列,而且只需要在其中一个视图增加显示这一列。
理应我只需要修改一个视图即可
但狐表却需要我修改所有的视图,即10个视图
我需要修改一个视图,工作量却是理论的10倍,这逻辑本身就不合理了吧
我在3楼举了个例子,可能您没看到吧~

问题就是视图他记录的是,你隐藏了哪些列,把其余的都显示。如果是记录显示哪些列,把其余都隐藏,会合理些

虽然代码 SetColVisibleWidth 就是记录你要显示的列,隐藏其他列
但是,引用起来繁琐。用内部函数也不够简洁和直观,OpenView 既简单,而且字面意思,直观!
这个功能改起来也不难吧~
[此贴子已经被作者于2013-9-17 9:07:02编辑过]

--  作者:有点甜
--  发布时间:2013/9/17 20:33:00
--  
 呵呵,这个问题,最好私信联系 狐狸爸爸。我帮楼主发信息了。
--  作者:狐狸爸爸
--  发布时间:2013/9/18 8:04:00
--  

这个不好办,增加的列,默认要显示的情况更多,所以视图记录隐藏列更为合理。

如果记录的是显示列,那么增加的列就默认不显示了,如果要每个视图显示这新增的列,同样得逐个视图修改。

 

开发的时候,会考虑那种情形更多,让概率较大的操作能够得到简化。