- Geben Sie 100 in A1 ein → Festschreiben → Änderung wird ausgelöst (erwartet).
- Speichern → Aufruf von fromJSON(workbook) zum Neuladen.
- Nach dem Neuladen A1 ist automatisch ausgewählt und erscheint linksbündig.
- Klicken Sie auf A1 (Fokus) → klicken Sie auf eine andere Stelle (Unschärfe) ohne zu ändern → Änderung Ereignis wird ausgelöst (unerwartet).
Nachdem das Arbeitsblatt neu geladen wurde, wird der Wert in Zelle A1 automatisch linksbündig ausgerichtet und fokussiert. Wenn der Fokus verloren geht, wird ein Änderungsereignis ausgelöst, obwohl keine Änderung vorgenommen wurde. Verweisen Sie auf das Bild.
Code: Select all
private loadKendoSpreadsheet(workbook?: Workbook): void { const kendoWorkbook = { ...convertWorkbookToKendo(workbook ?? {}), defaultCellStyle: { fontFamily: 'Roboto', fontSize: 12 }, columnWidth: 64, rowHeight: 20 }; try { this.ignoreSpreadsheetChangedEvent = true; const $worksheet = kendo.jQuery(this.spreadsheetEl.nativeElement); let kendoSpreadsheet = $worksheet.data("kendoSpreadsheet"); if (kendoSpreadsheet) { // Reload workbook kendoSpreadsheet.fromJSON(kendoWorkbook); } else { const options: any = { ...kendoWorkbook, toolbar: { /* omitted */ }, change: () => { document.dispatchEvent(new Event('spreadsheetChanged')); }, render: (e: any) => { document.dispatchEvent(new CustomEvent('spreadsheetRendered', { detail: e.sender })); } }; kendoSpreadsheet = $worksheet.kendoSpreadsheet(options).data("kendoSpreadsheet"); } } finally { this.ignoreSpreadsheetChangedEvent = false; } } @HostListener('document:spreadsheetChanged') public onSpreadsheetChanged() { if (this.ignoreSpreadsheetChangedEvent) return; this.worksheetForm.markAsDirty(); } /** * Reset to the saved version of the worksheet */ private resetChanges() { this.worksheetForm.reset(this.worksheet.description); this.canSaveUnchanged = false; this.loadKendoSpreadsheet(this.worksheet.workbook); }

Erwartet- Keine Änderung-Ereignis bei Unschärfe, es sei denn, der Wert der Zelle hat sich tatsächlich geändert.
Kendo-Tabelle (Angular + jQuery-Widget): Änderung wird nach Neuladen bei Unschärfe ohne Änderung ausgelöst (A1 nur, wenn ⇐ Jquery
-
Anonymous
Kendo-Tabelle (Angular + jQuery-Widget): Änderung wird nach Neuladen bei Unschärfe ohne Änderung ausgelöst (A1 nur, wenn
Ich bette das Kendo UI Spreadsheet (jQuery-Widget) in eine Angular-Komponente ein. Nach dem Speichern lade ich die Arbeitsmappe über fromJSON(...) neu. Wenn der letzte gespeicherte Wert in A1 numerisch ist, löst nur das Fokussieren von A1 und das Verwischen (keine Änderungen) das Änderungsereignis direkt nach dem Neuladen aus. Dies geschieht nicht für Textwerte und normalerweise nicht für andere Zellen.
-
- Similar Topics
- Replies
- Views
- Last post
Mobile version