[ECSide] 关于一个比较通用的查询组件问题!
yeshucheng
2007-07-12
我有2个问题很疑惑:
1.ecside中对于扩展extremecomponents中的AutoGenerateColumns方法,个人觉得没有很好的说明如何使用。 比如如何得到动态的列名称而使它变成中文名称; 如何SQL语句来得到一个动态的VO对象集合等等,或许我的思想不大对,还请大家说明 2.ecside的文档还不够系统,显得比较乱。可能是由于fins比较忙的缘故吧 最后就想问问大家,能否具体说明下如何使用ecside中动态显示列表的这个功能。 |
|
wplqw
2007-07-18
public class AutoGenerateColumnsImpl implements AutoGenerateColumns {
public void addColumns(TableModel model) { String queryName=String.valueOf(model.getContext().getRequestAttribute("queryName")); /*QueryInfo 这个qi是我定义的一个用户所选择的列的信息类 ,用户从一个web list中选择某些列,然后我从一个预定义的配置文件里面选择出取出这些列的相关信息QueryColumn,这个类基本是org.ecside.core.bean.Column的完全拷贝,当然还有其他扩展信息,然后压到Session中,接着在AutoGenerateColumnsImpl中取出来,参照原来的org.ecside.core.bean.AutoGenerateColumnsImpl代码,构造出一个个org.ecside.core.bean.Column对象,再model.getColumnHandler().addAutoGenerateColumn(column); 压回去就可以了,这样实际上就完成了列的动态定义*/ QueryInfo qi=(QueryInfo)model.getContext().getSessionAttribute("QueryInfo_"+queryName); if(qi==null) { return ; } List lstQueryColumns=qi.getLstColumn(); int i=0; int len=lstQueryColumns.size(); for(;i<len;i++) { QueryColumn qc=(QueryColumn)lstQueryColumns.get(i); Column column = model.getColumnInstance(); column.setProperty(qc.getFiledName()); column.setTitle(qc.getTitle()); column.setSortable(Boolean.valueOf(qc.isSortable())); model.getColumnHandler().addAutoGenerateColumn(column); } } } |
|
wplqw
2007-07-18
比较简单的实现是
org.ecside.core.bean.AutoGenerateColumnsImpl,具体你可以看看 |