说明:客户类型不是固定的三四个,而是从另外一张客户类型表中查询出来列在这里的。换句话说:这个下了框是可变的,可能有1个类型,也可能有N个类型。
注明:这种方式,用户类型是存在系统全局变量或者缓存里面的。所以利用${allRoleJson}可以取到包装好的json格式的数据。
Action:
//获得用户类型
public String getAllRoleJson() {
/*String jsonStr = "[{ text: '--客户类型 (有效)--',id: "
+ -1+ " },";*/
String jsonStr = "[";
//根据状态查出客户类型
for (CusType role : cusTypeManager.getAllCusTypeByStatus()) {
jsonStr += "{ text: '" + role.getCustypename() + "',id: "
+ role.getCustypeid() + " },";
}
if (!jsonStr.equals("[")) {
jsonStr = jsonStr.substring(0, jsonStr.length() - 1);
}
jsonStr += "]";
return jsonStr;
}
Service:
@Transactional(readOnly = true)
public List<CusType> getAllCusTypeByStatus(){
String sql="SELECT ct.custypeid,ct.custypename,ct.validate FROM CusType ct where ct.validate <> 0";
Query query = cusTypeDao.getSession().createSQLQuery(sql);
//query.setParameter("materialid", typeid);
List<CusType> result = new ArrayList<CusType>();
if(query.list()!=null){
List tmpList = query.list();
for (Object tmp : tmpList) {
Object[] obj = (Object[])tmp;
CusType adm = new CusType();
adm.setCustypeid(StringValueUtils.getLong(obj[0].toString()));
adm.setCustypename(obj[1].toString());
result.add(adm);
}
return result;
}else{
returnnull;
}
}
Dao:
Jsp:
<td><input type='text' name='type' id='type' value='--客户类型 (全部)--' οnblur=\"if(this.value=='') value='--客户类型 (全部)--';\" οnfοcus=\"if(this.value=='--客户类型 (全部)--') value='';\" style='' οnchange=''/></td>
function f_setGrid()
{
//初始化客户类型
var roleListJson="${allRoleJson[d1] }";
roleListJson=eval("("+roleListJson+")");
roleManager=$("#type").ligerComboBox({
data:roleListJson,
width: 150,
selectBoxWidth: 150,
isMultiSelect: true,
valueFieldID:"roleids"
});
gridManager = $("#maingrid").ligerGrid({
columns: [
{ display: 'id', name: 'customid', align: 'left', width: 120, minWidth: 120,render:function(row){
return "<a href='#' οnclick='f_viewCustom("+row.customid+")'>"+row.customid+"</a>";
} },
{ display: '名称', name: 'name', align: 'left', width: 150, minWidth: 150 },
{ display: '类型', name: 'type', minWidth: 120, render:function(row){
return row.cusType.custypename;
}},
{ display: '电话', name: 'customphone', minWidth: 50},
{ display: '地址', name: 'customaddress', align: 'left', width: 420 }
], dataAction: 'server',enabledSort:false,
url: "cusinformation!getList.action",
toolbar: toolbarOptions,
sortName: 'loginName',
parms: [{ name: "filter_LTI_status", value: "2"}],
width: '100%', height: '100%', pageSize: 30,
checkbox: true,rowHeight:25,
heightDiff: -9,
rownumbers :true,
frozenRownumbers :false,
frozenCheckbox : false,
onError: function (a, b)
{
}
});
}