新的QFaceslgscroller, q是一个翻늻Ӟ直接l定到dataTable中即可,使用非常单,lg会包含在1.5中发布,最q会q行一些测试,lg的性能很好Q比|上大部分h所用到的LocalDataModel方式要好Q从性能上和易用性上?br />
从性能上,lg不会在生命周期中出现两次调用数据的多余操作,q且h之后仍可停留在原来所在的面?br />
从易用性上Q只要实C个非常简单的Ҏl定可?q已l近乎傻瓜式的了?br />
现在可以在这里看C些效?html,及java代码都有
http://huliqing-qfaces.appspot.com/qfaces-example/ui-scroller.faces?qRecordStart=90
预览一下用法吧Q?br />
html代码
<h:form>
<q:scroller for="myDataTable"
bind="#{scrollerBean.loadData}"
displayCount="true"
displayJump="true"
displayPage="10">
<h:dataTable id="myDataTable" border="1"
binding="#{scrollerBean.myData}"
value="#{scrollerBean.people}" var="pl" width="500">
<h:column>
<h:outputText value="#{pl.name}" />
</h:column>
<h:column>
<h:outputText value="#{pl.age}" />
</h:column>
<h:column>
<h:outputText value="#{pl.birthday}" >
<f:convertDateTime pattern="yyyy-MM-dd"/>
</h:outputText>
</h:column>
<h:column>
<h:commandButton value="Test" actionListener="#{scrollerBean.testListener}" />
</h:column>
</h:dataTable>
</q:scroller>
</h:form>
看到lg所l定的方法了吗:bind="#{scrollerBean.loadData}" Q后C码只要实C个这LҎq行l定可?
后台java代码
public PageModel loadData(long start) {
// 讄自己的pageSize
int pageSize = 10;
// 模拟,从DB中获取总记录数
long total = getTotalCount();
// 模拟从DB中获取一些数据,从start起pageSize条记?/span>
ArrayList<Person> pageData = getFromDatabase(start, pageSize);
// 把这几个信息装成PageModelq回QOK
PageModel pm = new PageModel();
pm.setPageData(pageData);
pm.setPageSize(pageSize);
pm.setTotal(total);
return pm;
}
你可能不明白startq个参数是怎么来的Q这是scrollerlg计算出来后给你的Q当W一ơ加载页面时它会?Q它代表着现在需要从数据库中的第几条数据d记录Q你只要Ҏstart,再配合你自己讄的pageSize从数据库获取一|据返回给scrollerlg可以。返回类型是PageModel,q是QFaceslg包中的类.只是非常单的要求三个数据而已Q一个当前页的数据,一个总记录数Q一个pageSize.
lgҎq三个数据可计算Qƈ且渲染一个scroller页D。这q不是整个组件的完整面貌Q它会变得更好的?br />
我很喜欢q个目Q)
最q又对QFaces作了大幅调整Q调整了URL获取资源的方式,QFaces.js拆分成了两个文gQFaces-gen,QFaces-faces,命名I间也作了一些调整?br />
treelg修正了一些bug,q提高了友好性。inputHelp修正了在h览器下的错位问题,同时修正了上下左右键不能使用的问题。联动组件现在的工作方式仍然昑־太积极,需要作一些调整。还有很多可以l改q的。喜ƢJSF的朋友,有问题可以一起互怺学习?br />
话外Q昨天把自己的JTM攑ֈU盘下q行Q感觉非常棒Q现在带着U盘或者手机就可以随处Ud自己的WEB演示pȝ?)Q?不少朋友向我索要源码Q有些不好意思,q个东西是免费的,你可以随便用Q没有版权约束,但不是开源的。源码我是拿来出售的?br />

]]>