论坛首页 Java企业应用论坛

T5 技巧 2:为Grid组件的每一行增加“删除/修改”链接。

浏览 16035 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-08-28  
大家帮我看下,为什么链接不出来,我想在grid建个链接,谢谢
		<table t:type="grid" source="persons" rowsPerPage="5" row="person">
			<t:parameter t:name="name">
				<t:ActionLink t:id="view" context="person.name">${person.name}</t:ActionLink>				
			</t:parameter>
		</table>

public class Person {
    private String name;
    private int age;
    
    public Person()
    {
    	this.name = "aspire";
    	this.age = 2008;
    }
    
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
    
    
}

public class Start {

	private Person person;

	public Person getPerson() {
		return person;
	}

	public void setPerson(Person person) {
		this.person = person;
	}
	
	private Person[] persons;

	public Person[] getPersons() {
		if ( null == persons)
		{
			persons = new Person[]{new Person(), new Person()};
		}
		return persons;
	}

	public void setPersons(Person[] persons) {
		this.persons = persons;
	}
	
	
}
0 请登录后投票
   发表时间:2007-08-28  
<t:parameter t:name="${property}ColumnCell"> 
                     <a t:type="ActionLink" t:id="deleteLink" context="currentRow.id">删除</a> 
                 </t:parameter>
0 请登录后投票
   发表时间:2007-08-29  
to:dengyin2000
非常感谢,正确的应该是:
<t:parameter t:name="[color=red]${property}Cell[/color]">
<a t:type="ActionLink" t:id="deleteLink" context="currentRow.id">删除</a>
</t:parameter>
0 请登录后投票
   发表时间:2007-08-29  
to:dengyin2000
非常感谢,正确的应该是:
<t:parameter t:name="${property}Cell">
<a t:type="ActionLink" t:id="deleteLink" context="currentRow.id">删除</a>
</t:parameter>
0 请登录后投票
   发表时间:2007-09-05  
to:all

若User对象中有个日期型的变量,它在 grid 中未展示,应该怎么处理呢?
0 请登录后投票
   发表时间:2007-09-05  
那里有PropertyConduit类的API
public Object get(Object arg0) ;
  
    public Class getPropertyType() ;
  
    public void set(Object arg0, Object arg1) ;
  
    public <T extends Annotation> T getAnnotation(Class<T> arg0) ;

这几个方法是干什么的?
多谢
0 请登录后投票
   发表时间:2007-09-06  
match927 写道
to:all

若User对象中有个日期型的变量,它在 grid 中未展示,应该怎么处理呢?


你可以象上面那样自定义Date column的输出。   在你的page中定义一个方法  使用DateFormat格式化输出。。
0 请登录后投票
   发表时间:2007-09-06  
match927 写道
那里有PropertyConduit类的API
public Object get(Object arg0) ;
  
    public Class getPropertyType() ;
  
    public void set(Object arg0, Object arg1) ;
  
    public <T extends Annotation> T getAnnotation(Class<T> arg0) ;

这几个方法是干什么的?
多谢


你看了这个class 的java doc吗?  不要跟我说你看不懂英语。

/**
 * Used to read or update the value associated with a property. A PropertyConduit provides access to
 * the annotations on the underlying getter and/or setter methods.
 */
public interface PropertyConduit extends AnnotationProvider
{
    /**
     * Reads the property from the instance.
     * 
     * @param instance
     *            object containing the property
     * @return the current value of the property
     */
    Object get(Object instance);

    /**
     * Changes the current value of the property.
     * 
     * @param instance
     *            object containing the property
     * @param value
     *            to change the property to
     */
    void set(Object instance, Object value);

    /** Returns the type of the property read or updated by the conduit. */
    Class getPropertyType();
}
0 请登录后投票
   发表时间:2007-09-14  
to:dengyin2000
第一眼看了你的  tapestry-grid.png 图,我吓了一跳,怎么谁把我们的项目的截图发出来了,仔细一看,哦,只是用了同一个html样式模板。

我们基于 Tapestry5.0.4 + spring + hibernate 基本一个项目做完了,有不少收获,但是 发现Tapestry 5 还是有不少问题的,也许由于时间的问题,不少问题我还未来的及解决;想在项目结束后,再好好的研究下。希望能共同学习。
0 请登录后投票
   发表时间:2007-09-14  
to:dengyin2000
关于标题所说的给Grid增加操作一列的问题,lz做法是一种方法,但是每个不同的grid都要buildDriverBeanModel一下,是否太复杂了?我们的做法是,每个页面有需要的话,会有一个form类,这里可以在Bean中的一个property,因为我们一开始就把hiernate实体类和页面需要的对象分开的。所以不存在污染bean的问题,而且这样更明确form类的功能。不过model.remove()还是需要用的。
关于Grid分页的实现,对于lz的实现方式,有几点不同意的地方:分页组件BussnissService 存在依赖的的关系,分页组件依赖hsql。
我的做法虽然让我自己现在还是不太满意,但是,至少,可以在一定程度上更加通用。
^_^!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics