我目前正在使用jQgrid绘制一个列表,并通过Ajax检索数据。我正常的把名单拿回来,没什么不对的。
我的问题是,我必须根据我要获得的状态值动态填充选项的列表。
--调用数据的地方:
$(function(){
search_provider();
// grid resize
$(window).on('resize.jqGrid', function() {
$("#requestList").jqGrid('setGridWidth', $(".grid-cover").width());
})
});
function search_provider() {
var queryData = $("#searchList").serialize();
$.ajax({
url : "/v1/point/admin/provider/game_provider_list",
type : "GET",
dataType : "json",
data: queryData,
success : function(result) {
$("#resultLength").text(result.jqgrid_data.length);
if(result.jqgrid_data.length == 0){
noData();
}else{
$('#grid-cover').show();
$('#no-data').hide();
setRequestList(result.jqgrid_data)
}
}
})
}一个需要动态填充的地方:
{
name : 'approval_status',
index : 'approval_status',
align : 'center',
editable : true,
edittype : 'select',
formatter : 'select',
editoptions : {
value : "0:Unauthorized;1:Approval;2:Hold;3:Denial of approval;4:Reclamation",
dataEvents : [{
type : 'change',
fn : function(e) {
...
}
}]
}
}它现在显示了所有的清单。
当approval_status的值为'0‘时,返回"0:Unauthorized;1:Approval;2:Hold;3:Denial of approval"
当approval_status的值为'1‘时,返回"1:Approval;4:Reclamation"
当approval_status的值为'2‘时,返回"1:Approval;2:Hold;3:Denial of approval"
当approval_status的值为'3‘时,返回"1:Approval;2:Hold;3:Denial of approval"
我想要像上面一样被改变。你怎么能解决这个问题?
发布于 2019-07-24 06:39:04
指定从DB导入的数据变量的相同名称,并通过status值注册条件语句,以获得与条件匹配的DB数据。并绘制一个符合数据的JQgrid。
MyBatis.xml
select id="list" parameterType="hashmap" resultType="hashmap">
<choose>
<when test='approval_status == "0"'>
SELECT
seq_no AS col1,
nick_name AS col2,
...
FROM DB_DB
<when test='approval_status == "1"'>
SELECT
seq_no AS col1,
............
</choose>JQgrid.js
function setRequestList(jqgrid_data,status){
var title = [];
if(status == '0'){
title = ['No', 'nick',... ];
}else if(status == '1'){
title = ['No', 'name', ... ];
}
var colmodel = [];
$("#requestList").jqGrid("GridUnload");
jQuery("#requestList").jqGrid({
data : jqgrid_data,
datatype : "local",
height : 'auto',
colNames : title,
colModel : [{
name : 'col1',
index : 'seq',
align : 'center',
sortable : false
}
...https://stackoverflow.com/questions/57052916
复制相似问题