« 1 23» Pages: ( 1/3 total )
本页主题: 用SWT实现的TableViewer,供参考~ 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

金鳞

状态: 离线
级别: CEC版主
精华: 2
发帖: 247
威望: 48 点
财富: 191 元
在线时间:50(小时)
注册时间:2005-11-24
最后登录:2007-05-14

用SWT实现的TableViewer,供参考~

普通的table,多样的cell
图片:
本帖最近评分记录:
  • 财富:10(reload_cn)
  • 威望:5(reload_cn)
  • ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    金鳞岂是池中物,一遇风云便化龙
    顶端 时间: 2005年11月25日 14:24 | [楼 主]
    金鳞

    状态: 离线
    级别: CEC版主
    精华: 2
    发帖: 247
    威望: 48 点
    财富: 191 元
    在线时间:50(小时)
    注册时间:2005-11-24
    最后登录:2007-05-14

    可以文本编辑的cell
    图片:
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    金鳞岂是池中物,一遇风云便化龙
    顶端 时间: 2005年11月25日 14:27 | 1 楼
    金鳞

    状态: 离线
    级别: CEC版主
    精华: 2
    发帖: 247
    威望: 48 点
    财富: 191 元
    在线时间:50(小时)
    注册时间:2005-11-24
    最后登录:2007-05-14

    可以下拉框选择的cell
    图片:
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    金鳞岂是池中物,一遇风云便化龙
    顶端 时间: 2005年11月25日 14:28 | 2 楼
    金鳞

    状态: 离线
    级别: CEC版主
    精华: 2
    发帖: 247
    威望: 48 点
    财富: 191 元
    在线时间:50(小时)
    注册时间:2005-11-24
    最后登录:2007-05-14

    可以以超链接方式弹出的cell
    图片:
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    金鳞岂是池中物,一遇风云便化龙
    顶端 时间: 2005年11月25日 14:31 | 3 楼
    金鳞

    状态: 离线
    级别: CEC版主
    精华: 2
    发帖: 247
    威望: 48 点
    财富: 191 元
    在线时间:50(小时)
    注册时间:2005-11-24
    最后登录:2007-05-14

    代码在此,需要用到的同学可以拿去用。
    附件: TableViewerImplBySWT.java (9 K) 下载次数:2045
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    金鳞岂是池中物,一遇风云便化龙
    顶端 时间: 2005年11月25日 14:36 | 4 楼
    zxh1000

    状态: 离线
    级别: CEC程序员
    精华: 0
    发帖: 26
    威望: 13 点
    财富: 0 元
    在线时间:20(小时)
    注册时间:2005-10-28
    最后登录:2008-03-12

    中间可以加几列Checkbox吗
    顶端 时间: 2005年11月25日 22:45 | 5 楼
    liangyao1211

    状态: 离线
    级别: CEC高级程序员
    精华: 0
    发帖: 25
    威望: 13 点
    财富: 232 元
    在线时间:10(小时)
    注册时间:2005-11-14
    最后登录:2008-07-22

    看起来不错,楼主大公无私啊
    顶端 时间: 2005年11月28日 09:12 | 6 楼
    金鳞

    状态: 离线
    级别: CEC版主
    精华: 2
    发帖: 247
    威望: 48 点
    财富: 191 元
    在线时间:50(小时)
    注册时间:2005-11-24
    最后登录:2007-05-14

    zxh1000,没有问题。你看看代码,就知道大部分的widget都可以加进去。如果只是在某一行的第一列加Checkbox,那就把TableItem的style加一个SWT.CHECK就可以了。

    liangyao1211,书上说,把自己知道的分享出来,才可以提高:)
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    金鳞岂是池中物,一遇风云便化龙
    顶端 时间: 2005年11月28日 10:25 | 7 楼
    jrkui

    状态: 离线
    级别: CEC高级程序员
    精华: 0
    发帖: 333
    威望: 39 点
    财富: 229 元
    在线时间:55(小时)
    注册时间:2005-10-26
    最后登录:2008-12-01

    请问楼主知道怎么在TableView里加上Button吗?
    就像Excel一样。
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    路漫漫其修远兮,吾将上下而求索!
    顶端 时间: 2005年11月28日 13:16 | 8 楼
    金鳞

    状态: 离线
    级别: CEC版主
    精华: 2
    发帖: 247
    威望: 48 点
    财富: 191 元
    在线时间:50(小时)
    注册时间:2005-11-24
    最后登录:2007-05-14

    可以加,很简单,就像加Combo或Text一样:

    Button bt = new Button(table,SWT.NONE);
    bt.setText("...");

    TableEditor editor=new TableEditor(table);
    editor.grabHorizontal=editor.grabVertical=true;
    editor.setEditor(bt,...,...);
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    金鳞岂是池中物,一遇风云便化龙
    顶端 时间: 2005年11月28日 13:23 | 9 楼
    金鳞

    状态: 离线
    级别: CEC版主
    精华: 2
    发帖: 247
    威望: 48 点
    财富: 191 元
    在线时间:50(小时)
    注册时间:2005-11-24
    最后登录:2007-05-14

    顺便回答zxh1000,以上回复的代码就正适合你的问题,不过要小小改动一个地方:

    Button bt = new Button(table,SWT.CHECK);
    bt.setText("...");
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    金鳞岂是池中物,一遇风云便化龙
    顶端 时间: 2005年11月28日 13:25 | 10 楼
    jrkui

    状态: 离线
    级别: CEC高级程序员
    精华: 0
    发帖: 333
    威望: 39 点
    财富: 229 元
    在线时间:55(小时)
    注册时间:2005-10-26
    最后登录:2008-12-01

    这种方法我试过了,但是没成功
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    路漫漫其修远兮,吾将上下而求索!
    顶端 时间: 2005年11月28日 18:39 | 11 楼
    jrkui

    状态: 离线
    级别: CEC高级程序员
    精华: 0
    发帖: 333
    威望: 39 点
    财富: 229 元
    在线时间:55(小时)
    注册时间:2005-10-26
    最后登录:2008-12-01

    另外,《Eclipse入门与精通》上也有介绍TableView的文章,例子和你的差不多,他加Combo不是按你加Button样加的,而是用ComBoxCellEditor()这个方法加的(抱歉,你的源码我没怎么看)
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    路漫漫其修远兮,吾将上下而求索!
    顶端 时间: 2005年11月28日 18:45 | 12 楼
    金鳞

    状态: 离线
    级别: CEC版主
    精华: 2
    发帖: 247
    威望: 48 点
    财富: 191 元
    在线时间:50(小时)
    注册时间:2005-11-24
    最后登录:2007-05-14

    我是测试过了才回复你的,在我这里没有问题,可以实现效果。
    我想也许是因为我是用SWT实现的,你是不是直接用JFace实现的呢?
    你可以看看我的代码,也许和你的有些不同。
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    金鳞岂是池中物,一遇风云便化龙
    顶端 时间: 2005年11月28日 19:21 | 13 楼
    zxh1000

    状态: 离线
    级别: CEC程序员
    精华: 0
    发帖: 26
    威望: 13 点
    财富: 0 元
    在线时间:20(小时)
    注册时间:2005-10-28
    最后登录:2008-03-12

    呵呵,几天没上来,没想到金鳞有回帖,非常感谢,是这样的,我也是看了陈刚的那本eclipse的入门与精通,用的是jface实现的哪个tableviewer,当我设置SWT.CHECK,只能实现在第一列出现一个checkbox ,虽然可以用列的顺序调整,我可以把它放在中间,但是问题是只能加一列,多列就显示不出来了,难道用jface不能实现?
    顶端 时间: 2005年12月01日 19:05 | 14 楼
    biosun

    状态: 离线
    级别: CEC高级程序员
    精华: 0
    发帖: 46
    威望: 12 点
    财富: 257 元
    在线时间:8(小时)
    注册时间:2005-12-09
    最后登录:2008-10-14

    试了一把,不错,都可以实现
    顶端 时间: 2005年12月12日 11:23 | 15 楼
    金鳞

    状态: 离线
    级别: CEC版主
    精华: 2
    发帖: 247
    威望: 48 点
    财富: 191 元
    在线时间:50(小时)
    注册时间:2005-11-24
    最后登录:2007-05-14

    Quote:
    下面是引用zxh1000于2005年12月01日 19:05发表的:
    呵呵,几天没上来,没想到金鳞有回帖,非常感谢,是这样的,我也是看了陈刚的那本eclipse的入门与精通,用的是jface实现的哪个tableviewer,当我设置SWT.CHECK,只能实现在第一列出现一个checkbox ,虽然可以用列的顺序调整,我可以把它放在中间,但是问题是只能加一列,多列就显示不出来了,难道用jface不能实现?


    可以实现,想加在哪就加在哪:)

    Button bt = new Button(table,SWT.CHECK);
    bt.setText("...");

    TableEditor editor=new TableEditor(table);
    editor.grabHorizontal=editor.grabVertical=true;
    editor.setEditor(bt,item,column);

    editor.setEditor(bt,item,column);这一句就可指定在第item行的第column列加一个bt。
    很简单吧~~
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    金鳞岂是池中物,一遇风云便化龙
    顶端 时间: 2005年12月12日 13:01 | 16 楼
    cnfree

    状态: 离线
    级别: CEC总版
    精华: 4
    发帖: 47
    威望: 60 点
    财富: 217 元
    在线时间:12(小时)
    注册时间:2005-08-24
    最后登录:2008-11-28

    我需要一种Table实现,但是不能用原生Table,只能用Custom实现,因为原生Table失去焦点以后,背景颜色非常难看。而且对背景颜色的控制也不是很好。
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    顶端 时间: 2005年12月12日 13:13 | 17 楼
    wen1211

    状态: 离线
    级别: CEC高级程序员
    精华: 0
    发帖: 18
    威望: 11 点
    财富: 221 元
    在线时间:5(小时)
    注册时间:2006-01-10
    最后登录:2006-04-03

    我怎么下来不可以啊
    顶端 时间: 2006年01月19日 22:42 | 18 楼
    jdbc

    头衔:.Config IIT .Config IIT
    状态: 离线
    级别: CEC高级程序员
    精华: 5
    发帖: 568
    威望: 15 点
    财富: 108 元
    在线时间:91(小时)
    注册时间:2005-12-18
    最后登录:2008-11-05

    谢谢金鳞,我下了!
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    时间是那么的少,要学的却那么的多!
    顶端 时间: 2006年01月20日 09:30 | 19 楼
    « 1 23» Pages: ( 1/3 total )
    中国Eclipse社区 » 项目交流
    

    辽ICP备05021625号