Мне нужен jqgrid для отображения некоторых специальных символов, таких как "<test>
" в некоторых столбцах, попытался использовать autoencode=true
, но он изменил все столбцы на HTML-кодировку, как у меня были кнопки в некоторых других столбцах, которые ненужно кодирование, мы можем установить авто-код для определенных столбцов?Есть идеи?
Редактировать: Я использовал форматтер, предложенный Олегом, но я столкнулся с проблемой, когда у меня были кнопки в столбцах, где мне нужно переключаться между режимом редактирования, чтобы «сохранить», сохранить и закончить »и 'отмена' я отправляю код, но я не уверен, как переключаться между скрытием / отображением кнопок в режиме редактирования:
Настройка сетки:
$("#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;
}
OnEdit (при нажатии кнопки «Изменить»)
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
}