free-jqgrid填充子网格中的下拉列表

时间:2018-10-09 14:12:10

标签: javascript jqgrid free-jqgrid

我很费时,正在子网格中填充一个下拉列表。我正在使用free-jqgrid 4.15.5。在主网格中填充下拉菜单时,我没有任何问题,但在尝试在子网格(网格作为子网格选项)中获得类似的下拉菜单时,我似乎遇到了ID问题,因为有人知道引用或如何填充该子网格正确下拉?

我当前用于下拉菜单的测试功能是:

function popUsersT() {

alert("subgrid id : " + window.subgrid_id + "\nfound : " + $("#" + subgrid_id).length + "\nrow id : " + window.row_id + "\nfound(row) : " + $("#" + window.row_id).length + "\ndropdown found : " + $("select", "#" + window.row_id).length + "\nsg_tableID: " + $("#" + sg_tableID).html);
var current = $("#" + subgrid_id).jqGrid('getRowData', $("#" + window.subgrid_table_id )[0].p.selrow).TaskValidator;
alert(current);

$.ajax({
    url: "/Tasks/getUserList",
    datatype: 'json',
    mtype: 'Get',
    async: false,
    success: function (users) {
        $("#Task").html("");
        $("#Proxy").html("");
        $.each(users, function (i, user) {
            $("#Task").append(
                $('<option></option>').val(user.name).html(user.DisplayName)
            );
            $("#Proxy").append(
                $('<option></option>').val(user.name).html(user.DisplayName)
            );
        });
        $("#Task").prop("disabled", false);
        $("#Proxy").prop("disabled", false);
        $("#Task").val(current);
        $("#Proxy").val(current);
    }
});

}

我的子网格的一部分是:

subGridRowExpanded: function (subgrid_id, row_id) {
        var sg_tableID = subgrid_id + "_t";
        window.subgrid_id = sg_tableID;
        window.row_id = row_id;
        window.subgrid_table_id = sg_tableID;
        //alert(subgrid_id);
        //alert(row_id);
        var pager_id = "p_" + sg_tableID;
        $("#" + subgrid_id).html("<table id='" + sg_tableID + "' class='scroll'></table><div id='" + pager_id + "' class='scroll'></div>");
        jQuery("#" + sg_tableID).jqGrid({
            url: "/Home/GetTaskSubList/" + row_id,

我一直在使用Id值来尝试摆脱以下错误: 错误:“ subgrid_table_id”未定义 错误:“ sg_tableID”未定义

我确信我在尝试进行这项工作时迷路了,希望我能轻松地做到这一点。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

最后,iw可以通过设置值来使其工作:

subGridRowExpanded: function (subgrid_id, row_id) {
        var sg_tableID = subgrid_id + "_t";
        window.subgrid_id = sg_tableID;
        window.row_id = row_id;
        window.subgrid_table_id = sg_tableID;

,然后通过以下方式引用函数中的值:

var currentOwner = $("#" + subgrid_id).jqGrid('getRowData', $("#" + window.subgrid_table_id)[0].p.selrow).Task;

我不确定我是否完全理解为什么,但是它确实可以按需工作。谢谢