大家好...小弟今天做例子的时候想做一个<rich:dataTable>标签显示数据 但是我想修改和添加功能都做在一个选项卡中,当我点击添加的时候,修改的那个选项卡不可用(注:我要做的修改就是当我点击<rich:dataTable>标签的数据的时候可以显示也可以修改),我在公有实体类中设置了两个boolean类型的属性在 而我的要用的实体类则继承公有实体类,并且在构造器中设置了两个类型的初始值,但是为什么我页面点击添加的时候  添加那个选项卡变成了不可用,而修改的变成了可用,但是也没有数据呈现出来...说了这么多 看看代码吧:公有实体类:
package org.erp.util;public class BaseBean {
private boolean check;
private String op;
private String property;
private boolean addOp;
private boolean updateOp;

public boolean isAddOp() {
return addOp;
}
public void setAddOp(boolean addOp) {
this.addOp = addOp;
}
public boolean isUpdateOp() {
return updateOp;
}
public void setUpdateOp(boolean updateOp) {
this.updateOp = updateOp;
}
public boolean isCheck() {
return check;
}
public void setCheck(boolean check) {
this.check = check;
}
public String getOp() {
return op;
}
public void setOp(String op) {
this.op = op;
}
public String getProperty() {
return property;
}
public void setProperty(String property) {
this.property = property;
}
}对应的实体类:
package org.erp.bean.sal;import java.util.HashSet;
import java.util.Set;import org.erp.bean.per.Per_employee_info;
import org.erp.util.BaseBean;/**
 * 
 * @author ping
 * 客户信息表
 */
public class Sal_client_info extends BaseBean{
private String client_no;
private String client_name;
private String client_code;
private String client_address;
private String client_link_man;
private String client_link_tel;
private String client_link_fax;
private String client_link_stamp;
private String client_link_email;
private String client_grade;
private String client_deliver_add;
private String client_re; 

private Sal_client_type client_type_id = new Sal_client_type();
private Sal_pay_type pay_type_id = new Sal_pay_type();
private Per_employee_info per_no = new Per_employee_info();
private Set<Sal_brand_info>brand=new HashSet<Sal_brand_info>(0);

public Set<Sal_brand_info> getBrand() {
return brand;
}
public void setBrand(Set<Sal_brand_info> brand) {
this.brand = brand;
}

public String getClient_no() {
return client_no;
}
public void setClient_no(String client_no) {
this.client_no = client_no;
}
public String getClient_name() {
return client_name;
}
public void setClient_name(String client_name) {
this.client_name = client_name;
}
public String getClient_code() {
return client_code;
}
public void setClient_code(String client_code) {
this.client_code = client_code;
}
public String getClient_address() {
return client_address;
}
public void setClient_address(String client_address) {
this.client_address = client_address;
}
public String getClient_link_man() {
return client_link_man;
}
public void setClient_link_man(String client_link_man) {
this.client_link_man = client_link_man;
}
public String getClient_link_tel() {
return client_link_tel;
}
public void setClient_link_tel(String client_link_tel) {
this.client_link_tel = client_link_tel;
}
public String getClient_link_fax() {
return client_link_fax;
}
public void setClient_link_fax(String client_link_fax) {
this.client_link_fax = client_link_fax;
}
public String getClient_link_stamp() {
return client_link_stamp;
}
public void setClient_link_stamp(String client_link_stamp) {
this.client_link_stamp = client_link_stamp;
}
public String getClient_link_email() {
return client_link_email;
}
public void setClient_link_email(String client_link_email) {
this.client_link_email = client_link_email;
}
public String getClient_grade() {
return client_grade;
}
public void setClient_grade(String client_grade) {
this.client_grade = client_grade;
}
public String getClient_deliver_add() {
return client_deliver_add;
}
public void setClient_deliver_add(String client_deliver_add) {
this.client_deliver_add = client_deliver_add;
}
public String getClient_re() {
return client_re;
}
public void setClient_re(String client_re) {
this.client_re = client_re;
}

public Sal_client_type getClient_type_id() {
return client_type_id;
}
public void setClient_type_id(Sal_client_type client_type_id) {
this.client_type_id = client_type_id;
}
public Sal_pay_type getPay_type_id() {
return pay_type_id;
}
public void setPay_type_id(Sal_pay_type pay_type_id) {
this.pay_type_id = pay_type_id;
}
public Per_employee_info getPer_no() {
return per_no;
}
public void setPer_no(Per_employee_info per_no) {
this.per_no = per_no;
}


}对应的Model:package org.erp.model.sal;import java.util.ArrayList;
import java.util.List;import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import javax.faces.model.SelectItem;import org.erp.bean.per.Per_employee_info;
import org.erp.bean.per.Per_login_info;
import org.erp.bean.sal.Sal_client_info;
import org.erp.bean.sal.Sal_client_type;
import org.erp.bean.sal.Sal_pay_type;
import org.erp.dao.Sal_client_DAO;
import org.erp.util.SystemParameter;
import org.richfaces.component.html.HtmlDataTable;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
 *  * @author Administrator
 *
 */ 
@Component("sal_client_info")
public class Sal_client_infoModel{
  
private DataModel<Sal_client_info>clientModel;
private HtmlDataTable ht=new HtmlDataTable();//表格绑定  
private Sal_client_info client=new Sal_client_info();//客户实体类
private List<SelectItem>clientType;//下拉显示客户类型
private List<SelectItem>payType;//下拉显示付款类型
//注入到spring
@Autowired
private Sal_client_DAO cdao;
/**
 * 页面加载读取信息
 * @return
 */
public DataModel<Sal_client_info> getClientModel() {
if(clientModel==null)
{
System.out.println("Model为空时getClientModel被调用");
clientModel=new ListDataModel<Sal_client_info>();
clientModel.setWrappedData(cdao.selectByAll("Sal_client_info"));
  }
return clientModel;
} public void setClientModel(DataModel<Sal_client_info> clientModel) {
this.clientModel = clientModel;
}

  
/**
 * 页面加载下拉选择框客户类型
 * @return
 */
public List<SelectItem> getClientType() {
if(clientType==null)

clientType=new ArrayList<SelectItem>();
List<Sal_client_type>sa=cdao.selectByAll("Sal_client_type");
for(Sal_client_type type:sa)
{
System.out.println("客户类型加载成功");
clientType.add(new SelectItem(type.getClient_type_id(),type.getClient_type_name()));
}
}
return clientType;
}
public void setClientType(List<SelectItem> clientType) {
this.clientType = clientType;
}

/**
 * 页面加载下拉选择框付款类型
 * @return
 */
public List<SelectItem> getPayType() {
if(payType==null)
{
System.out.println("付款类型加载成功");
payType=new ArrayList<SelectItem>();
List<Sal_pay_type>sa=cdao.selectByAll("Sal_pay_type");
for(Sal_pay_type pay:sa)
{
System.out.println(pay.getPay_type_name());
payType.add(new SelectItem(pay.getPay_type_id(),pay.getPay_type_name()));
}
}
return payType;
} public void setPayType(List<SelectItem> payType) {

this.payType = payType;
}

public Sal_client_DAO getCdao() {
return cdao;
} public void setCdao(Sal_client_DAO cdao) {
this.cdao = cdao;
} /**
 * 双击信息显示数据
 * @return
 */
public Sal_client_info getClient() {
if(client.getClient_no()!=null&&client.getClient_no().equals(""))
{
client=cdao.findById(client.getClient_no());
}
return client;
} public void setClient(Sal_client_info client) {
this.client = client;
} public HtmlDataTable getHt() {
return ht;
} public void setHt(HtmlDataTable ht) {
this.ht = ht;
}
public String onclick()
{
System.out.println("修改前===="+client.isAddOp());
System.out.println("修改前===="+client.isUpdateOp());
client.setAddOp(false);
client.setUpdateOp(true);
System.out.println("修改后===="+client.isAddOp());
System.out.println("修改后===="+client.isUpdateOp());
return "";
}
public String selectByNo()
{
client.setAddOp(true);
client.setUpdateOp(false);
return "";
}
}