精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-08-22
koda 写道 接下来的定制是:
1). 如何更改默认Title显示 2). 如何定制CSS 在你的页面中覆盖掉tapestry定义的css。 比如: 引用 table.t-data-grid {
border-collapse:collapse; border-left:1px solid silver; width:100%; } table.t-data-grid thead tr { background:#990000 url(../images/sprites.gif) repeat-x scroll 0pt -1300px; color:white; } div.t-data-grid-pager span.current { background:#FFFFFF none repeat scroll 0%; border:1px solid #CCCCCC; color:#CCCCCC; padding:2px 5px; text-decoration:none; } div.t-data-grid-pager a:hover { background:#CC0000 none repeat scroll 0%; color:#FFFFFF; } div.t-data-grid-pager a { border:1px solid silver; color:#CC0000; font-size:medium; margin-right:5px; padding:2px 5px; text-decoration:none; } div.t-data-grid-pager span.current { border:1px solid silver; color:black; font-size:medium; margin-right:5px; padding:2px 5px; text-decoration:none; } 效果如下: (上面的示例代码就是来自这个页面。) |
|
返回顶楼 | |
发表时间:2007-08-22
是啊,应该是这样哦:)
那么title文字的定制呢? |
|
返回顶楼 | |
发表时间:2007-08-23
TO: dengyin2000
能否整理个完整的"为Grid组件的每一行增加“删除/修改”链接"。 非常感谢。 |
|
返回顶楼 | |
发表时间:2007-08-23
match927 写道 TO: dengyin2000
能否整理个完整的"为Grid组件的每一行增加“删除/修改”链接"。 非常感谢。 有哪里不懂? 我应该算讲得比较详细吧,。 |
|
返回顶楼 | |
发表时间:2007-08-23
谢谢,能不能讲讲下拉框,。。。
|
|
返回顶楼 | |
发表时间:2007-08-25
非常感谢你的分享,我在用grid控件,页面为典型的主/从查询页面,从主传输参数过来到从,从页面用grid,结果也能够查出来,但是分页出了问题,就是说第一页码,可以有结果,但是点击第二页时候,没有显示,搂主能不能帮助解决一下,谢谢
|
|
返回顶楼 | |
发表时间:2007-08-25
hitalang 写道 非常感谢你的分享,我在用grid控件,页面为典型的主/从查询页面,从主传输参数过来到从,从页面用grid,结果也能够查出来,但是分页出了问题,就是说第一页码,可以有结果,但是点击第二页时候,没有显示,搂主能不能帮助解决一下,谢谢
我不知道你是怎样实现GridDataSource的。。 我贴下我的吧。 package com.javaeye.dengyin2000.gtts.utils; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.commons.lang.StringUtils; import org.apache.tapestry.beaneditor.PropertyModel; import org.apache.tapestry.grid.GridDataSource; import com.javaeye.dengyin2000.gtts.domain.Driver; import com.javaeye.dengyin2000.gtts.genericdao.Page; import com.javaeye.dengyin2000.gtts.service.BussnissService; public class DriverGridDataSource implements GridDataSource { private String nameQueryString; private int pageSize; private BussnissService service; private int totalCount; private Map<Integer, Driver> currentDatas = new HashMap<Integer, Driver>(); public DriverGridDataSource(String string, int pageSize, BussnissService service){ this.nameQueryString = string; this.pageSize = pageSize; this.service = service; } public int getAvailableRows() { if (totalCount == 0) this.totalCount = service.getDomainsCount(getHqlString(), getParams()); return totalCount; } public Class getRowType() { return Driver.class; } public Object getRowValue(int index) { return currentDatas.get(index); } @SuppressWarnings("unchecked") public void prepare(int startIndex, int endIndex, PropertyModel sortModel, boolean ascending) { Page page = null; if (sortModel == null) page = service.pagedQuery(getHqlString(), startIndex, pageSize, null, false, getParams(), this.totalCount); else page = service.pagedQuery(getHqlString(), startIndex, pageSize, sortModel.getPropertyName(), ascending, getParams(),this.totalCount); List<Driver> result = (List<Driver>) page.getResult(); currentDatas.clear(); for(int i=0; i<result.size(); i++){ currentDatas.put(startIndex+i, result.get(i)); } } private String getHqlString(){ String hql = "from Driver where 1=1"; if (StringUtils.isNotBlank(nameQueryString)){ hql = hql + " and name like :name"; } return hql; } private Map<String, Object> getParams(){ Map<String, Object> params = new HashMap<String, Object>(); if (StringUtils.isNotBlank(nameQueryString)){ params.put("name", "%" + nameQueryString + "%"); } return params; } public void setTotalCount(int totalCount) { this.totalCount = totalCount; } } package com.javaeye.dengyin2000.gtts.pages.basicinformation; import java.util.ArrayList; import java.util.List; import org.apache.tapestry.Block; import org.apache.tapestry.annotations.Component; import org.apache.tapestry.annotations.Inject; import org.apache.tapestry.annotations.Persist; import org.apache.tapestry.beaneditor.BeanModel; import org.apache.tapestry.corelib.components.Grid; import org.apache.tapestry.grid.GridDataSource; import org.apache.tapestry.services.BeanModelSource; import com.javaeye.dengyin2000.gtts.base.BasePage; import com.javaeye.dengyin2000.gtts.domain.Driver; import com.javaeye.dengyin2000.gtts.utils.DriverGridDataSource; import com.javaeye.dengyin2000.gtts.utils.MiscUtils; public class Drivers extends BasePage { @Inject private BeanModelSource beanModelSource; @Inject private Block nodata; @Component(id="driverGrid") private Grid driverGrid; private String driverName; private Driver currentRow; @Persist private GridDataSource dataSource; public String getDriverName() { return driverName; } public void setDriverName(String driverName) { this.driverName = driverName; } public BeanModel getDriverBeanModel(){ return MiscUtils.buildDriverBeanModel(beanModelSource, getComponentSources()); } public GridDataSource getDriverSource(){ if (dataSource == null) { dataSource = new DriverGridDataSource(getDriverName(), driverGrid.getRowsPerPage(), getBussnissService()); } // fouce the grid to refetch the count; ((DriverGridDataSource)dataSource).setTotalCount(0); return dataSource; } void onActionFromDeleteLink(int driverId){ List<Integer> deleteIds = new ArrayList<Integer>(); deleteIds.add(driverId); getBussnissService().deleteDrivers(deleteIds); setMessage("删除成功!"); } public Block getNodata() { return nodata; } public Driver getCurrentRow() { return currentRow; } public void setCurrentRow(Driver currentRow) { this.currentRow = currentRow; } } |
|
返回顶楼 | |
发表时间:2007-08-25
使用默认的grid不行吗???
|
|
返回顶楼 | |
发表时间:2007-08-25
看了你的文章,我非常感谢你的慷慨相授,我由于初学tapestry5,而且t4没有学过,t5刚刚学习,很多都是看网友的文章之后修改得来的,你的也被我“抄袭了”,脸红呀,可是好奇心促使我还想看更多的东西,你这个是t5下的吗,public class Drivers extends BasePage 好像是t4的,
另外,import com.javaeye.dengyin2000.gtts.genericdao.Page; import com.javaeye.dengyin2000.gtts.service.BussnissService; 这两个类,能贴出来吗,谢谢 |
|
返回顶楼 | |
发表时间:2007-08-25
BussnissService 这个是业务Service 类。 给你也没有用。
service.pagedQuery 是根据startIndex endIndex 去数据库拿一页的数据。 BasePage 是我写的一个基类。 |
|
返回顶楼 | |