eclipse中table控件怎么具有编辑功能

         eclipse中table是显示数据的,可是不克不及点窜数据,很是不变。下面分享一下table控件怎么具有编纂能力!我写的经验对你进修java有帮忙的话,给我投票或者保藏!

http://v.youku.com/v_show/id_XMzk1MTEzNDk5Mg==.html

0显示表中数据

0对中的表增添数据

0删除数据库中的数据

东西/原料

  • eclipse mars 2

方式/步调

  1. 1

    没有看之前的经验的话,看看经验链接,下面的讲解和之前经验联系在一路的。

    1、表的数据模子。

    2、标签类

    3、内容供给器

    4、table数据ArrayList<>

    不熟悉的看看之前的经验链接。

  2. 2

    新建一个ICellModifier编纂类,读取table中的数据,更新table中的数据:

    public class Xinxibianji implements ICellModifier{

    @Override

    public boolean canModify(Object element, String property) {

    //true :列可以点窜

    //false :不克不及点窜

    return false;

    }

    @Override

    public Object getValue(Object element, String property) {

    读取tabled中的数据

    return null;

    }

    @Override

    public void modify(Object element, String property, Object value) {

    把新的数据写到table中

    }

    }

  3. 3

    读取table中的数据getValue:

    Shangpinxinxi sp=(Shangpinxinxi) element;//一行数据

    switch(property){

    case "fenlei":          //列名  

    return sp.getfenlei();

    case "mingcheng":

    return sp.getmingcheng();

    case "zhujima":

    return sp.getzhujima();

    case "danwei":

    return sp.getdanwei();

    case "jiage":

    return Float.toString(sp.getjiage());

    case "hyjiage":

    return Float.toString(sp.gethyjiage());

    }

    return null;

  4. 4

    把新点窜的数据保留在table中:

    TableItem ti=(TableItem)element;

    Shangpinxinxi sp=(Shangpinxinxi)ti.getData();  一行数据

    switch(property){    把新数据写到数据模子中

    case "fenlei":

    sp.setfenlei((String)value);

    break;

    case "mingcheng":

    sp.setmingcheng((String)value);

    break;

    case "zhujima":

    sp.setzhujima((String)value);

    break;

    case "danwei":

    sp.setdanwei((String)value);

    break;

    case "jiage":

    sp.setjiage(Float.valueOf(value.toString()));

    break;

    case "hyjiage":

    sp.sethyjiage(Float.valueOf(value.toString()));

    break;

    }

    tv.update(sp, null);  把新数据更新在table中

  5. 5

    在createPartControl这个方式中界说列名:

    String[] lm={"fenlei","mingcheng","zhujima","danwei","jiage","hyjiage"};

    tv.setColumnProperties(lm);

  6. 6

    界说编纂器,几多列就界说几个:

    CellEditor[] cell = new CellEditor[6]; 

    cell[0]=new TextCellEditor(table,SWT.SINGLE | SWT.BORDER);

    cell[1]=new TextCellEditor(table,SWT.SINGLE | SWT.BORDER); 

    cell[2]=new TextCellEditor(table,SWT.SINGLE | SWT.BORDER); 

    cell[3]=new TextCellEditor(table,SWT.SINGLE | SWT.BORDER); 

    cell[4]=new TextCellEditor(table,SWT.SINGLE | SWT.BORDER); 

    cell[5]=new TextCellEditor(table,SWT.SINGLE | SWT.BORDER); 

    tv.setCellEditors(cell);

  7. 7

    设置table的编纂类:

    tv.setCellModifier(new Xinxibianji());

  8. 8

    运行项目,发现数据不克不及编纂。

  9. 9

    把canModify这个方式的返回值点窜为true。

  10. 10

    运行项目,table中的数据编纂了!

  • 发表于 2018-12-06 00:00
  • 阅读 ( 744 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

联系我们:uytrv@hotmail.com 问答工具