Ich habe ein Kendo-Raster, die sich seltsam benimmt. Ich versuche eine Zeile auszuwählen und den Wert in der Datenquelle zu aktualisieren. Das Raster hat zwei Zeilen: eine Vorlage, d. H. Ein Kontrollkästchen und einen Wert in der Datenquelle, der Boolesch ist.Kendo Grid Acting seltsam auf Update
Alles, was ich bin versucht zu tun:
Wenn auf Checkbox geklickt - Quelle den Wert von
IsChecked
in den Daten aktualisieren und markieren Sie die Zeile als
Der folgende Code ausgewählt funktioniert gut, aber nur nach jedem Kontrollkästchen ist mindestens einmal geklickt.
Replizieren: Klicken Sie auf ein beliebiges Kontrollkästchen, Sie sehen, dass der Wert in der Zeile aktualisiert wird, aber das Kontrollkästchen ist nicht aktiviert. Klicken Sie erneut darauf und Sie sehen, dass das Kontrollkästchen aktiviert ist und die Zeile ausgewählt wird. Aber niemals beim ersten Mal. Das Gleiche passiert mit allen Zeilen. Nach dem 2. Lauf funktionieren sie gut, aber nicht zuerst.
Hier ist die Telerik fiddle link zu spielen, um
$("#grid").kendoGrid({
columns: [
{
title: "Check",
template: '<input class="checkbox" type="checkbox" />'
},
{ field: "IsChecked" }
],
dataSource: [
{ IsChecked:false},
{ IsChecked:false },
{ IsChecked:false },
{ IsChecked:false }
],
dataBound: function() {
$(".checkbox").bind("change", function (e) {
var row = $(e.target).closest("tr");
row.toggleClass("k-state-selected");
var grid = $("#grid").data("kendoGrid");
var index = $("tr", grid.tbody).index(row);
var data = grid.dataSource.at(index);
data.set("IsChecked", true);
});
}
});
Danke
Ich sehe. Danke Ankush :) – TheUknown
Hey, aber weißt du, was das Gitter verursacht, um sich mit meinem Code unberechenbar zu verhalten? – TheUknown
Jedes Mal, wenn Sie set Methode Grid Rebind selbst aufrufen und wieder Datenwort aufgerufen wird. Und Sie haben die Set-Methode in Datenverbindung aufgerufen. –