jqGrid 如何根据状态数据动态填充选项列表?

我目前正在使用 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"


我想像上面那样改变。你怎么能解决这个问题?


慕森王
浏览 107回答 1
1回答

慕斯王

指定从DB导入的数据变量同名,通过状态值注册条件语句,获取符合条件的DB数据。并绘制一个JQgrid来拟合数据。MyBatis.xmlselect id="list" parameterType="hashmap" resultType="hashmap">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <choose>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <when test='approval_status == "0"'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SELECT&nbsp; &nbsp; &nbsp; &nbsp; seq_no AS col1,&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; nick_name AS col2,&nbsp; &nbsp; &nbsp; &nbsp; ...&nbsp; &nbsp; &nbsp; &nbsp; FROM DB_DB&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <when test='approval_status == "1"'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SELECT&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;seq_no AS col1,&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;............&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</choose>jqgrid.jsfunction setRequestList(jqgrid_data,status){&nbsp; &nbsp; var title = [];&nbsp; &nbsp; if(status == '0'){&nbsp; &nbsp; &nbsp; &nbsp; title = ['No', 'nick',... ];&nbsp; &nbsp; }else if(status == '1'){&nbsp; &nbsp; &nbsp; &nbsp; title = ['No', 'name', ... ];&nbsp; &nbsp; }&nbsp; &nbsp; var colmodel = [];&nbsp; &nbsp; $("#requestList").jqGrid("GridUnload");&nbsp; &nbsp; jQuery("#requestList").jqGrid({&nbsp; &nbsp; &nbsp; &nbsp; data : jqgrid_data,&nbsp; &nbsp; &nbsp; &nbsp; datatype : "local",&nbsp; &nbsp; &nbsp; &nbsp; height : 'auto',&nbsp; &nbsp; &nbsp; &nbsp; colNames : title,&nbsp; &nbsp; &nbsp; &nbsp; colModel : [{&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; name : 'col1',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; index : 'seq',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; align : 'center',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sortable : false&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; ...
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java