我需要jqgrid在某些列中显示一些特殊字符,如“<test>
”,尝试使用autoencode=true
,但它将所有列都更改为HTML编码,就像我在其他一些列中有按钮,需要编码,我们可以为特定列设置自动编码吗?有任何想法吗?jqgrid没有显示特殊符号
编辑:我已经使用了格式化所建议的奥列格,但我遇到了问题,我曾在的cols,在那里我需要编辑模式之间切换到“保存”按钮,保存并完成”和‘取消’我我张贴的代码,但我不知道如何隐藏之间切换/取消隐藏在编辑模式下的按钮:
网格设置:
$("#list").jqGrid({
url: '<%= Url.Action("JSONData","CompanyInfo")%>',
datatype: 'json',
colNames: ['ID', 'Company', 'Address' , 'Employers ', ''],
colModel: [
{ name: 'ID', index: 'ID', align: 'left', sortable: false, editable: true, hidden: true },
{ name: 'Company', index: 'Company', align: 'left', sortable: false, editable: false, formatter: ConvertLineChartoBR },
{ name: 'Address', index: 'Address', editoptions: { size: 100 }, align: 'left', sortable: false, editable: true, edittype: 'textarea', formatter: ConvertLineChartoBR, unformat: ConvertLineChartoN },
{ name: 'Employers', index: 'Employers', editoptions: { size: 100 }, align: 'left', sortable: false, editable: true, edittype: 'textarea' },
{ name: 'act', index: 'act', editable: false, sortable: false, fixed: true, formatter: setupEdit}],
pager: $('#pager'),
autowidth: true,
shrinkToFit: true,
rowNum: currRecords,
rowList: [5, 10, 20, 50],
recordtext: "View Records {0} - {1} of {2}",
emptyrecords: "No records to view",
pgtext: "Page {0} of {1}",
sortorder: "desc",
viewrecords: true,
autoencode: true,
caption: 'Test'
});
SetupEdit(对于格式化)
function setupEdit(cellvalue,options,rowObject) {
var btnSave = "<input type='button' value='Save' style='display:none' onclick=\"$('#list').jqGrid('saveRow', '" + options.rowId + "', null, '<%= Url.Action("GridSave","Company")%>', null, aftersavefunc);\" />";
var btnSaveFinished = "<input type='button' value='Save & Finish' style='display:none' onclick=\"$('#list').jqGrid('saveRow', '" + options.rowId + "', null, '<%= Url.Action("GridSaveFinished","Company")%>', null, aftersavefunc);\" />";
var btnCancel = "<input type='button' value='Cancel' style='display:none' onclick=\"$('#list').jqGrid('restoreRow', '" + options.rowId + "', aftercancelfunc);\" />";
var Edit = "<input type='button' value='Edit' class='editButton' onclick=\"$('#list').jqGrid('editRow','" + options.rowId+ "',false,oneditfunc);\" />";
return btnSave + btnSaveFinished + btnCancel + Edit;
}
Ø n编辑(在编辑按钮点击)
function oneditfunc(result, x) {
// I need to unhide the button of the last column where buttons are populated in setupEdit
// On Edit click, i need to enable btnSave,btnSaveFinished and btnCancel
//Again on aftersavefunc/aftercancelfunc i need to reset back the column value to display on Edit button
}
谢谢。我可以用这种方式设置它,没有任何问题。但是在编辑模式下,编辑按钮需要用保存和取消按钮来替换。我用setRowData做了这个。现在看起来我不能再使用它了。有关如何解决这个问题的任何建议? – remo 2012-01-31 21:18:44
@remo为什么不使用预定义的'formatter:'actions''?它做你需要的。如果您确实需要自己实现相同的功能,则可以在格式化程序中添加许多按钮,但是应该隐藏一些按钮:““然后你可以显示你需要显示的按钮,并隐藏不需要的按钮,同样的'formatter:'actions''。 – Oleg 2012-02-01 07:13:34
我无法使用预定义的动作,因为我有更多的按钮添加到编辑模式,我会尝试做一些显示在其他多个按钮,其他隐藏。谢谢 – remo 2012-02-01 13:39:57