免费的 JqGrid - 搜索过滤器的宽度

Free JqGrid - width of search filters

我正在使用免费的 JqGrid,我遇到的问题是搜索过滤器字段不会加长以适应列的宽度,如下面的标题所示。我如何实现这一目标?

网格由以下代码创建;

$(function () {
    getGrid();
});

var populateGrid = function (data) {
    var grid = $("#grid");
    grid.jqGrid({
        data: data,
        colNames: ["Contract No", "Title", ""],
        colModel: [
            { name: "FullContractNo", label: "FullContractNo", width: 80, align: "center" },
            { name: "ContractTitle", label: "ContractTitle", width: 500, searchoptions: { sopt: ["cn"] } },
            { name: "Link", label: "Link", width: 60, search: false, align: "center" }
        ],
        cmTemplate: { autoResizable: true },
        rowNum: 20,
        pager: "#pager",
        shrinkToFit: true,
        rownumbers: true,
        sortname: "FullContractNo",
        viewrecords: true
    });

    grid.jqGrid("filterToolbar", {
        beforeSearch: function () {
            return false; // allow filtering
        }
    }).jqGrid("gridResize");
    $("#divLoading").hide();
}

var getGrid = function () {
    var url = GetHiddenField("sir-get-selected-contract-list");
    var callback = populateGrid;
    dataService.getList(url, callback);
}

设置搜索字段宽度最简单的方法是使用 attr 属性 或 searchoptions:

{
    name: "ContractTitle",
    label: "ContractTitle",
    width: 500,
    searchoptions: {
        sopt: ["cn"],
        attr: { style: "width:100px;" }
    }
}

可以在搜索字段上设置任意属性的方式,包括style属性。