[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,具体你可以看看
Global site tag (gtag.js) - Google Analytics