jqGrid colModel包含使用以下属性定义的只读多行列。 内容行长度大于列宽,文本长,因此tooltio不显示其全部内容。无法看到整个内容。
我正在寻找一种允许用户查看整个列内容的方法。 例如,如果按下编辑表单按钮,则此列内容应以编辑形式显示为readonly textarea。 但是,只读列不会以编辑形式出现。
如何让用户查看整栏内容?
colModel: [{
"name":"LoggedLongText",
"editable":false,"width":539,
"classes":"jqgrid-readonlycolumn","fixed":true,
"hidden":false,"searchoptions":{"sopt":["cn","eq","ne","lt","le","gt","ge","bw","ew","nc"]}}
}]
答案 0 :(得分:31)
是设置
editable: true, editoptions: { readonly: "readonly" }
可能你需要什么?
更新: Free jqGrid支持从版本4.8开始的editable
属性的更多值。 The wiki article描述了editable
可以起作用,并且在使用表单编辑的情况下它还支持三个字符串值:"hidden"
,"disabled"
和"readonly"
。
答案 1 :(得分:3)
要显示只读字段,您可以尝试使用"disabled:disabled"
内的editoptions
。
另一种选择是使用返回跨度的自定义元素类型:
colModel: [
...
{name:'price', ..., editable:true, edittype:'custom', editoptions:{custom_element: myelem, custom_value:myvalue} },
...
]
..
function myelem (value, options) {
var el = document.createElement("span");
$(el).val(value); // be sure to escape special characters as necessary.
return el;
}
function myvalue(elem, operation, value) {
// just reutrun null or empty string.
return "";
}
我更喜欢使用“readonly:readonly
”,因为readonly
选项围绕单元格值包装输入控件,输入控件仍然会获得焦点,我认为这会误导用户。在可用性方面,使用"disabled:disabled"
可以使输入元素更好地接收,这稍微好一些。
使用跨度要好得多。有趣的是,jqGrid甚至会向服务器发送“unsuccessful”表单控件。
希望这会有所帮助。 - jqr
答案 2 :(得分:1)
要在EditForm上显示只读字段,您必须尝试使用editoptions中的{readonly: true}
属性作为jqGrid列,并且可以正常工作。