Я хочу реализовать кнопку поиска без встроенных функций на jqgrid.Я применяю динамическое поле выбора, но оно не работает.
У меня есть два вопроса.Во-первых, сравнить ли динамическое поле выбора и столбец colmodel?Во-вторых, я отправляю правильные параметры моему контроллеру Java?Я уже использую postData.
Наконец, я хочу загрузить строки с помощью окна динамического выбора.
$(function() {
$("#jqGrid").jqGrid({
url: "<c:url value='memberList.do'/>",
datatype: "local",
colModel: [{
label: "mbrNo",
name: "mbrNo",
width: 200,
},{
label: "name",
name: "mbrNm",
width: 400,
},{
label: "loginID",
name: "loginId",
width: 400,
},{
label: "mbrCndCd",
name: "mbrCndNm",
width: 400,
},{
label: "mbrGrdCd",
name: "mbrGrdNm",
width: 400,
}],
height: "780",
autowidth: true,
rownumbers: true,
pager: "#jqGridPager",
rowNum: 10,
rowList: [10, 20, 30],
goSearch: function() {
var mbrCnd = $("#mbrCnd option:selected").val();
var mbrGrd = $("#mbrGrd option:selected").val();
console.log("mbrCnd : ", mbrCnd);
console.log("mbrGrd : ", mbrGrd);
$("#jqGrid").setGridParam({
datatype: "json",
mtype: "GET",
postData: {
mbrCnd: function() {
return $("#mbrCnd option:selected").val();
},
mbrGrd: function() {
return $("#mbrGrd option:selected").val();
}
},
loadComplete: function(data) {
console.log("data", data);
}
}).trigger("reloadGrid");
<tr>
<td scope="row" colspan="3">
<select id="mbrCnd" name="mbrCnd">
<c:forEach items="${mbrCndList}" var="mbrCndList">
<option value="<c:out value='${mbrCndList.cmmCdNm }'/>
<c:out value='${mbrCndList.cmmCdNm }'/>
</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td scope="row" colspan="3">
<select id="mbrGrd" name="mbrGrd">
<c:forEach items="${mbrGrdList}" var="mbrGrdList">
<option value="<c:out value='${mbrGrdList.cmmCdNm }'/>
<c:out value='${mbrGrdList.cmmCdNm }'/>
</option>
</c:forEach>
</select>
</td>
</tr>
@RequestMapping(value = "/selectMember.do")
public String selectMember(ModelMap model)
{
List<EgovMap> mbrCndList = memberService.selectMbrCnd();
model.addAttribute("mbrCndList", mbrCndList);
List<EgovMap> mbrGrdList = memberService.selectMbrGrd();
model.addAttribute("mbrGrdList", mbrGrdList);
return "member/mbrList";
}
@RequestMapping(value="memberList.do", produces="application/json; charset=utf-8")
@ResponseBody
public String memberList(@RequestParam Map<String, Object> map,
@RequestParam List<String> mbrCnd,
@RequestParam List<String> mbrGrd)
{
List<EgovMap> mbrList = memberService.selectMbrList(map);
System.out.println("##mbrList :" + mbrList);
Map<String, Object> resMap = new HashMap<String, Object>();
resMap.put("rows", mbrList);
resMap.put("page", map.get("page"));
resMap.put("total", mbrList.get(0).get("totalPage"));
resMap.put("records", mbrList.get(0).get("totalCnt"));
return JsonUtil.MapToJson(resMap);
}
Кроме того, я использую три сопоставителя.Один связан с jqGrid, другой код связан с полем динамического выбора.Это один и тот же код.Только параметр одинаков.