Beschreibe den Fehler
Wenn das dataGrid eine Zelle bearbeitbar macht, ruft es den Feldwert ab, wenn kein cellText vorhanden ist. Der Feldwert in unserer Anwendung enthält Nullen für leere Datumswerte. Der Datumseditor wird mit Nullen geöffnet.
Unten ist der Code, auf den verwiesen wird.
makeCellEditable: function(row, cell, event) {
if (!this.isCellEditable(row, cell)) {
return;
}
//Locate the Editor
var col = this.columnSettings(cell);
if (!col.editor) {
if (event.keyCode === 32) {
this.toggleRowSelection(this.activeCell.node.closest('tr'));
}
return;
}
// Put the Cell into Focus Mode
this.setActiveCell(row, cell);
var cellNode = this.activeCell.node.find('.datagrid-cell-wrapper'),
cellParent = cellNode.parent('td'),
cellValue = (cellNode.text() ? cellNode.text() : this.fieldValue(this.settings.dataset[row], col.field));
if (cellParent.hasClass('is-editing')) {
//Already in edit mode
//Editor.focus
cellNode.find('input').focus();
return false;
}
Reproduzieren
Schritte zum Reproduzieren des Verhaltens:
Erwartetes Verhalten
Erwarten Sie, dass, wenn kein Zellentext vorhanden ist, entweder eine leere Zeichenfolge übergeben oder der Feldwert formatiert wird.
Zu Ihrer Information: 3.5-Steuerelemente stellten einen Rückruf bereit, der es ermöglichte, den Feldwert zu ändern, bevor der Wert im Editor verwendet wurde.
Ich denke, die 0000000 scheint ein Locale-Konvertierungsfehler zu sein.
Aber darüber hinaus ist der Rückruf eine nette Idee, da er zukünftige Anpassungen ermöglichen würde
@boehmd1 Könnten Sie bitte Schritte zur Replikation dieses Problems
Guter Anruf - ich dachte, ich hätte das reproduziert, bin mir aber nicht sicher, auf was die Daten tatsächlich eingestellt sind. Wenn ich dieses Beispiel versuche: http://localhost :4000/components/datagrid/example-editable.html, dann gibt es einige leere Daten, die ohne die 0000000 im Raster ok rendern. Ist das Datenbeispiel wie folgt: string '00000000' ?
Auch @boehmd1 wie hieß die Option in 3.5?
'loadValue' war eine Methode im Editor.
Reproduzieren...
Verwenden Sie das Beispiel http://localhost :4000/components/datagrid/example-editable
Ändern Sie das Datum oder OrderDate '00000000'
@davidcarlsonberg loadData
war ein Haken am Editor. Wir können wahrscheinlich das Locale-Format 00000000
korrekt zu einem leeren Datum machen, um dieses Problem zu lösen. Wenn wir dann einen Hook in den Editoren haben wollen, können wir das zusätzlich machen.
QA bestanden. Verschieben t Fertig.
Getestet in: http://localhost :4000/components/datagrid/example-editable in all Devices, Browsers and OS.