jqGridの特定のデータに基づいてjqgridの削除ボタンを表示/非表示にしたい。
$('#jqgFlagger').jqGrid('navGrid', '#jqgpFlagger',
{ add: false, del: false, edit: false, search: false },
{ width: 'auto', url: '/DtlmTransaction/UpdateRole' },
{ width: 'auto', url: '/DtlmTransaction/InsertRole' },
{ width: 'auto', url: '/DtlmTransaction/DeleteMultiple' });
上記は、jqgrid独自の削除オプションではなく、以下のアクションからのカスタム削除オプションを使用していることを示すコードです。
colModel: [
{ name: 'FlaggerName', resizable: false, index: 'FlaggerName', align: 'left', width: 312, editable: false },
{ name: 'DataFileReceived', formatter: DataFileReceivedFormatter, resizable: false, index: 'DataFileReceived', width: 130, align: 'left', search: false, edittype: 'text' },
{ name: 'ProcessStartDate', formatter: ProcessStartDateFormatter, resizable: false, index: 'ProcessStartDate', width: 130, align: 'left', align: 'left', search: false, edittype: 'text' },
{ name: 'ProcessCompleteDate', formatter: ProcessCompleteDateFormatter, resizable: false, index: 'ProcessCompleteDate', width: 150, align: 'left', search: false, edittype: 'text' },
{ name: 'Total', resizable: false, index: 'Total', width: 53, align: 'center', search: false },
{ name: 'Identical', resizable: false, index: 'Identical', width: 53, align: 'center', search: false },
{ name: 'Differences', resizable: false, index: 'Differences', width: 51, align: 'center', search: false },
{ name: 'StateAbri', resizable: false, index: 'StateId', width: 48, align: 'left' },
{ name: 'CountyName', resizable: false, index: 'CountyName', width: 86, align: 'left' },
{ name: 'Name', resizable: false, index: 'ServiceName', align: 'left', width: 127 },
{ name: 'StatusName', formatter: statusFormatter, resizable: false, index: 'StatusId', align: 'center', width: 70, search: false },
{ name: 'StatusColor', hidden: true, resizable: false, index: 'StatusColor', align: 'left', width: 70, search: false },
{ name: 'bitDefault', formatter: bitDefaultFormatter, resizable: false, index: 'bitDefault', align: 'left', width: 40, search: false, editoptions: { value: '1:0' }, editable: false, edittype: 'checkbox' },
{ name: 'Names', resizable: false, index: 'Names', align: 'left', width: 100,
search: false, sortable: false, formatter: editFmatter
},
{ name: 'act', index: 'act', width: 50, align: 'center', sortable: false, formatter: 'actions',
formatoptions: {
keys: true,
editformbutton: false,
delbutton: true,
editbutton: false,
delOptions: { url: '/DtlmTransaction/DeleteMultiple' }
}
}],
ここでは、実際にdelButton:trueを有効にしたことがわかります。ここで、jqgrid行のフィールドデータ条件で削除ボタンを表示/非表示にします。たとえば、行のフィールド値(success、completeなど)を取得した場合、このボタンを非表示にします。どうすればいいですか?提案してください。