AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

cxGrid: Zelle editierbar machen

Offene Frage von "Windwalker"
Ein Thema von Windwalker · begonnen am 24. Jun 2009 · letzter Beitrag vom 24. Jun 2009
Antwort Antwort
Windwalker

Registriert seit: 9. Mär 2009
72 Beiträge
 
#1

cxGrid: Zelle editierbar machen

  Alt 24. Jun 2009, 09:31
Hallo!

Ich arbeite an einem Grid, welches eine DB-Tabelle von Items einliest und deren Bezeichnung im Grid anzeigt.
Das Grid gibt dem User die Möglichkeit, diese Bezeichnung von einem (oder mehrerer) Item(s) zu ändern.
Hierzu habe ich eine Spalte 'Bezeichnung' und 'Bezeichnung_alt' (unsichtbar, zum Puffern der ursprünglichen Einträge).
'Bezeichnung_alt' ist über DataBinding mit der entsprechenden Spalte der DB-Tabelle verknüpft und lädt so beim Öffnen des Grid die Datensätze ein.
Anschließend werden mittels einer FOR-Schleife alle Bezeichnungen von 'Bezeichnung_alt' nach 'Bezeichnung' kopiert.
Der Benutzer kann die Zellen der Spalte 'Bezeichnung' nun ändern.
Beim Klick auf OK können nun mittles Vergleich von 'Bezeichnung_alt' und 'Bezeichnung' Änderungen erkannt werden.

Nun habe ich folgendes Performance-Problem:
Die zugrunde liegende Tabelle hat mittlerweile fast 7000 Einträge.
Nach dem Öffnen des Grids ist die Iteration, welche 'Bezeichnung_alt' nach 'Bezeichnung' kopiert enorm langsam.

Ich suche nun einen Weg, mir diese Schleife zu ersparen.
Verknüpfe ich über DataBinding->FieldName 'Bezeichnung' auch mit dem Feld aus der Query, so kann ich im Grid die Einträge in den Zellen nicht mehr editieren.

Könnt ihr weiterhelfen?
Ich denke, ich brauche schon die beiden Zellen, um Änderungen zu erkennen, sonst müsste ich ja immer die ganze Tabelle zurückschreiben....
Wie bekomme ich dann die Einträge sowohl in 'Bezeichnung_alt' und 'Bezeichnung' ohne die langsame FOR-Schleife?

Viele Grüße,
Sascha.
  Mit Zitat antworten Zitat
Windwalker

Registriert seit: 9. Mär 2009
72 Beiträge
 
#2

Re: cxGrid: Zelle editierbar machen

  Alt 24. Jun 2009, 10:15
Noch eine Bemerkung:

Ich habe gerade festgestellt, dass für die Spalte ValueType=String unter DataBinding gesetzt werden muss, damit Eingaben in der Zelle zur Laufzeit gemacht werden können.

Setze ich bei FieldName nun das entsprechende Feld aus der Query ein, um beim Ausführen der Query die Zelle automatisch zu füllen, kann ValueType nicht mehr auf String gesetzt werden und es können keine Eingaben mehr gemacht werden...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz