ich Rendering bin die Spalte mit unten Funktion machen:Reihe zeichnen korrupt renderWith Funktion
DTColumnBuilder.newColumn(null).withTitle('Validation').renderWith(validationRenderer)
function validationRenderer(data, type, full, meta) {
return '<div class="btn-group">' +
'<label class="btn btn-default btn-sm">' +
'<input ng-click="vm.toggleValidation($event, ' + data.id + ', '+meta.row+', '+meta.col+')" name="validation'+data.id+'" type="radio" autocomplete="off" value="YES"> Yes' +
'</label>' +
'<label class="btn btn-default btn-sm">' +
'<input ng-click="vm.toggleValidation($event, ' + data.id + ', '+meta.row+', '+meta.col+')" name="validation'+data.id+'" type="radio" autocomplete="off" value="NO"> No' +
'</label>' +
'</div>';
}
Wenn der Benutzer auf ein Optionsfeld klickt, unter vm.toggleValidation
Funktion ausgelöst wird:
vm.toggleValidation = toggleValidation;
function toggleValidation(event, id, rowNum, colNum) {
event.stopPropagation();
// call to a server and then redraw ...
$log.info('Updating row and re-drawing it..');
var table = vm.dtInstance.DataTable;
var row = table.row(rowNum);
var rowData = row.data();
rowData.validation = event.target.value;
table.row(rowNum).data(rowData).draw(false);
}
Rendered Radio-Buttons gestoppt funktioniert, sobald das Redraw abgeschlossen ist. Ich kann Radio-Buttons sehen, aber toggleValidation
wird nicht beim Klicken auf einen Radio-Button aufgerufen. Optionsfeld funktioniert nur einmal. Wenn ich die Funktion draw
entferne, funktioniert es perfekt, so dass beim Neuzeichnen der Zeile etwas nicht in Ordnung ist.