如何在免费的 jqgrid 中增加表单编辑中的文本区域宽度

How to increase textarea width in form edit in free jqgrid

在最新的免费 jqgrid textarea 中,用于内联和表单编辑。 在内联编辑中,列宽应为 350px。这在 colmodel 中指定并且工作正常。

如何在表单编辑中增加 textarea 宽度超过 350px,使其占据表单编辑中的整个编辑列 window 或者具有更大的硬编码宽度? 我尝试在模板中使用 class 属性 仅在表单编辑中添加 class 但 class 未添加到文本区域。

科尔模型:

{"template":MultiLineTemplate,
"name":"Avaldis",
"editoptions":{
  "class":"",
  "readonly":null
  },
"editrules":{"edithidden":true},
"editable":function(options){return getEditable(options,false);}
,"width":350
}

javascript 用于 colmodel:

var multilinePrefix = '<div class="jqgrid-multiline-cell">';
var MultiLineTemplate = {
    edittype: "textarea",
    searchoptions: { sopt: ["cn", "nc"] },
    formatter: function (v) {
        return multilinePrefix + (v == null ? '' : $.jgrid.htmlEncode(v)) + '</div>';
    },

    unformat: function (cellvalue) {
        return cellvalue;
    },

    editoptions: 
    {
        rows: 3,
        wrap: "off",
        style: 'overflow-x: hidden',
    }
};


function getEditable(options, isReadonly) {
    if (!isReadonly) {
        return true;
    }
    if (options.mode === "cell" || options.mode === "add" || options.mode === "edit") {
        return true;
    }
    return "readonly";
}

风格:

.jqgrid-multiline-cell {
    max-height: 2.8em;
    overflow-x: hidden;
}

问题how to restrict jqgrid textarea height in grid only与此有点相关。

我想你可以通过添加 editoptions 的 属性 cols: 20:

来解决问题
editoptions: { cols: 20 }

到具有 edittype: "textarea" 的列。