-
为你示范eclipse中table控件怎么具有编辑功能
- 作者:许紫惜 分类:电脑技术 发布时间:2017-09-19 18:04:36
电脑现已成为我们工作、生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到eclipse中table控件怎么具有编辑功能的问题,如果我们遇到了eclipse中table控件怎么具有编辑功能的情况,该怎么处理怎么才能解决eclipse中table控件怎么具有编辑功能带来的困扰呢,对于这样的问题其实我们只需要eclipse mars 2没有看之前的经验的话,看看经验链接,下面的讲解和之前经验联系在一起的。1、表的数据模型。2、标签类3、内容提供器4、table数据ArrayList 不熟...
电脑现已成为我们工作、生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到eclipse中table控件怎么具有编辑功能的问题,如果我们遇到了eclipse中table控件怎么具有编辑功能的情况,该怎么处理怎么才能解决eclipse中table控件怎么具有编辑功能带来的困扰呢,对于这样的问题其实我们只需要eclipse mars 2没有看之前的经验的话,看看经验链接,下面的讲解和之前经验联系在一起的。1、表的数据模型。2、标签类3、内容提供器4、table数据ArrayList<>不熟悉的看看之前的经验链接。新建一个ICellModifier编辑类,读取table中的数据,更新table中的数据:public class Xinxibianji implements ICellModifier{@这样就解决了这样的问题,接下来给大家带来eclipse中table控件怎么具有编辑功能的详细操作步骤。
工具/原料
eclipse mars 2
方法/步骤
没有看之前的经验的话,看看经验链接,下面的讲解和之前经验联系在一起的。
1、表的数据模型。
2、标签类
3、内容提供器
4、table数据ArrayList<>
不熟悉的看看之前的经验链接。
新建一个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中
}
}
读取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;
把新修改的数据保存在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中
在createPartControl这个方法中定义列名:
String[] lm={"fenlei","mingcheng","zhujima","danwei","jiage","hyjiage"};
tv.setColumnProperties(lm);
定义编辑器,多少列就定义几个:
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);
设置table的编辑类:
tv.setCellModifier(new Xinxibianji());
运行项目,发现数据不能编辑。
把canModify这个方法的返回值修改为true。
运行项目,table中的数据编辑了!
猜您喜欢
- 如何打开神秘的LRC文件?让我为你揭秘..2024-03-13
- 如何为你的电脑硬盘上把锁,防止重要..2024-02-29
- 探索win10专业版与企业版:究竟谁将成..2023-12-31
- Eclipse安装指南:轻松掌握编程新世界..2023-12-30
- AMD与NVIDIA显卡:谁将成为你的最佳选择..2023-12-29
- 显卡驱动:你真的需要升级吗?让专业..2023-12-23
相关推荐
- steam退款条件是什么 steam退款条件超过..2023-11-07
- 剪映Windows专业电脑版目前支持什么格..2021-03-16
- Win11看视频卡顿?一招解决,让你的媒..2024-02-22
- 怎么在电脑上登陆/退出微信?群聊,微信..2020-12-13
- Win10输入法无法切换怎么办 win10输入法..2023-01-29
- 如何下载浏览器视频 教你下载浏览器..2021-05-06