Java 如何在网格(GXT 3)中创建复选框(我不想要整列)
我试图在网格(GXT 3.0)中添加一个复选框(我不想要复选框列),同时从模型(VO/DTO)中获取值。如果我得到空值,那么我想添加复选框而不是空值 有什么想法吗Java 如何在网格(GXT 3)中创建复选框(我不想要整列),java,gxt,Java,Gxt,我试图在网格(GXT 3.0)中添加一个复选框(我不想要复选框列),同时从模型(VO/DTO)中获取值。如果我得到空值,那么我想添加复选框而不是空值 有什么想法吗 提前感谢您应该阅读数据阅读器 假设您有一个带有CheckColumnConfig的网格 CheckColumnConfig checkColumnConfig = new CheckColumnConfig ("myProperty" + prop.getId(), "myProperty" + pro
提前感谢您应该阅读数据阅读器 假设您有一个带有CheckColumnConfig的网格
CheckColumnConfig checkColumnConfig = new CheckColumnConfig ("myProperty" + prop.getId(), "myProperty"
+ prop.getId(), 40);
关联的加载程序应该如下所示:
RpcProxy<BeanModel> proxy = new RpcProxy<BeanModel>() {
@Override
protected void load(Object loadConfig, AsyncCallback<BeanModel> callback) {
//call your rpc service
}
};
final ListLoader<BaseListLoadResult<BeanModel>> loader = new BaseListLoader<BaseListLoadResult<BeanModel>>(
proxy, new CustomGridBeanModelReader());
loader.load();
RpcProxy代理=新的RpcProxy(){
@凌驾
受保护的无效加载(对象加载配置、异步回调){
//调用您的rpc服务
}
};
最终列表加载器=新的BaseListLoader(
代理,新CustomGridBeanModelReader());
loader.load();
现在只需在DateReader中实现一些逻辑:
public class CustomGridBeanModelReader implements DataReader<List<BeanModel>> {
/** The reader. */
private BeanModelReader reader = new BeanModelReader();
/**
* Checks if is factory for each bean.
*
* @return true, if is factory for each bean
*/
public boolean isFactoryForEachBean() {
return reader.isFactoryForEachBean();
}
/* (non-Javadoc)
* @see com.extjs.gxt.ui.client.data.DataReader#read(java.lang.Object, java.lang.Object)
*/
public List<BeanModel> read(Object loadConfig, Object data) {
ListLoadResult<ModelData> models = reader.read(loadConfig, data);
List<ModelData> modelsData = models.getData();
Iterator<ModelData> itModels = modelsData.iterator();
List<BeanModel> newModelsData = new ArrayList<BeanModel>();
while (itModels.hasNext()) {
BeanModel model = (BeanModel) itModels.next();
Mybean myBean = model.getBean();
//add some logic
if ((myBean.getMyProperty() == null){
model.set("myProperty" + myBean.getId(), true);
}
//add more logic
//...
newModelsData.add(model);
}
return newModelsData;
}
/**
* Sets the factory for each bean.
*
* @param factoryForEachBean the new factory for each bean
*/
public void setFactoryForEachBean(boolean factoryForEachBean) {
reader.setFactoryForEachBean(factoryForEachBean);
}
公共类CustomGridBeanModelReader实现DataReader{
/**读者*/
私有BeanModelReader=新BeanModelReader();
/**
*检查每个bean是否为工厂。
*
*@return true,如果是每个bean的工厂
*/
公共布尔值isFactoryForEachBean(){
返回reader.isFactoryForEachBean();
}
/*(非Javadoc)
*@see com.extjs.gxt.ui.client.data.DataReader#read(java.lang.Object,java.lang.Object)
*/
公共列表读取(对象加载配置、对象数据){
ListLoadResult models=reader.read(loadConfig,数据);
List modelsData=models.getData();
迭代器itModels=modelsData.Iterator();
List newModelsData=newarraylist();
while(itModels.hasNext()){
BeanModel模型=(BeanModel)itModels.next();
Mybean Mybean=model.getBean();
//添加一些逻辑
if((myBean.getMyProperty()==null){
set(“myProperty”+myBean.getId(),true);
}
//添加更多逻辑
//...
newModelsData.add(模型);
}
返回newModelsData;
}
/**
*为每个bean设置工厂。
*
*@param factoryForEachBean每个bean的新工厂
*/
public void setFactoryForEachBean(布尔factoryForEachBean){
setFactoryForEachBean(factoryForEachBean);
}
}