- 1
没有看之前的经验的话,看看经验链接,下面的讲解和之前经验联系在一路的。
1、表的数据模子。
2、标签类
3、内容供给器
4、table数据ArrayList<>
不熟悉的看看之前的经验链接。
- 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
读取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
把新点窜的数据保留在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
在createPartControl这个方式中界说列名:
String[] lm={"fenlei","mingcheng","zhujima","danwei","jiage","hyjiage"};
tv.setColumnProperties(lm);
- 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
设置table的编纂类:
tv.setCellModifier(new Xinxibianji());
- 8
运行项目,发现数据不克不及编纂。
- 9
把canModify这个方式的返回值点窜为true。
- 10
运行项目,table中的数据编纂了!