E4 RCP TableViewerBuilder取值

本文详细阐述了TableViewerBuilder中数据绑定的两种方式:通过property绑定和valueHandler绑定,针对实体类集合和非实体类集合的处理策略,以及如何解决数据为空时的显示问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TableViewerBuilder的取值的方式有两种.

一、bindToProperty(propertyName)

二、bindToValue(valueHandler)


根据TableViewerBuilder.setInput()方法注入的值类型,选择使用哪个取值方式.

public class User{
   private Integer id;
   private String name;
}

/**-------省略get(),set()方法--------------*/
如果注入的值是一个实体类集合的话,我们就可以用第一种方法

userName.bindToproperty("name");

TableViewerBuilder.setInput(List<User> users);

如果注入的值是一个HashMap集合或者其他集合的话,用第一种方法就不太合适了.

而且第一种方法不灵活,中间无法操控它显示的值.如果值是null的话,它就会显示出null,这显然不是我们想要的.

接下来看bindToValue(valueHandler)是如果处理这些问题的

userName.bindToValue(new BaseValue<HashMap<String,Object>>() {
	@Override
	public Object get(HashMap<String,Object> oneMap) {
	Object object = oneMap.get("name");
	if(null==object)
		return "";
	return (String)object;
	}
});


这是读取HashMap中的值的做法,另外还有一个问题,就是对象集合null值得问题.

userName.bindToValue(new BaseValue<User>() {
	@Override
	public Object get(User user) {
		return user.getName()!=null?user.getName():"";
	}
});


好,就这样. 有什么疑问请留言

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值