手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

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

时间:2024-11-10 05:35:35

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中 } }

eclipse中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;

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

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中

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

5、在createPartControl这个方法中定义列名:String[] lm={"fenlei","mingcheng","zhujima","danwei","jiage","hyjiage"}; tv.setColumnProperties(lm);

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

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);

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

7、设置table的编辑类:tv.setCellModifier(new Xinxibianji());

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

8、运行项目,发现数据不能编辑。

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

9、把canModify这个方法的返回值修改为true。

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

10、运行项目,table中的数据编辑了!

eclipse中table控件怎么具有编辑功能
© 手抄报圈