![]() |
Datenbank: SQLite • Version: ? • Zugriff über: ADUCOM SQLite
DBGrid Daten ändern
hallo zusammen...
kann man daten in einem dbgrid nachträglich abänder/manipulieren? auf meiner form habe ich ein TDBGrid, TDataSource, Query Komponente... alles ist so miteinander verbunden, das nachdem absetzen eines selects die daten automatisch im TDBGrid angezeigt werden... über die folgende prozedur habe ich schon versucht die daten nachträglich im dbgrid zu manipulieren (grund ist die falsche darstellung von umlauten):
Delphi-Quellcode:
wenn ich an der stelle wo ich die "UTF8ToAnsi" konvertierung vornehme anhalte, dann seh ich auch das er die inhalte umgewandelt hat... aber hinther in der anzeige werden die umlaute die ich konvertieren möchte immer noch falsch angezeigt...
procedure Tmain_form.prTDBGridUTF8ToAnsi(DBGrid: TDBGrid);
var i : Integer; begin //Disable Screen Update DBGrid.DataSource.DataSet.DisableControls; DBGrid.DataSource.DataSet.First; While Not (DBGrid.DataSource.DataSet.Eof) Do Begin For i := 0 To DBGrid.Columns.Count -1 Do Begin DBGrid.Columns[i].Field.Value := UTF8ToAnsi(DBGrid.Columns[i].Field.AsString); End; DBGrid.DataSource.DataSet.Next; End; DBGrid.DataSource.DataSet.First; //Enable Screen Update DBGrid.DataSource.DataSet.EnableControls; end; mach ich etwas falsch oder geht es gar nicht das ich die daten im DBGrid manipulieren kann? |
AW: DBGrid Daten ändern
Hallo,
also die Daten musst du auf der Datenbank ändern. Also mit Query.Edit und dann Query.Post ODER per UPDATE,StorProc usw... Soll es nur so aussehen als Ob kannst du Felder unsichtbar machen und CalcFields nehmen. Alternativ kannst auch das OwnerDraw nutzen und selber malen. Findest hier im Forum viele gute beiträge dazu. |
AW: DBGrid Daten ändern
in der db stehen die daten korrekt drin... ich hab nur ein problem mit miener query komponente, diese holt mir die daten nicht korrekt ab, obwohl die DB selber und die DB komponente auf UTF8 eingestellt ist...
werd mir das mit calcfields und ownerdraw mal anschauen... gibt es sonst noch möglichkeiten? |
AW: DBGrid Daten ändern
ich würde mal prüfen, welches Charset deine Query/Connection verwendet und in welchem Format deine Daten in der Datenbank stehen.
Falls du das nur für die Anzeige machen möchtest, schau dir mal TField.OnGetText, bzw. OnSetText an. ![]() |
AW: DBGrid Daten ändern
die connection ist auf "UTF8" eingestellt... und das pragma encoding der db ebenfalls, wobei die sqlite standardmäßig eh mit "UTF8" arbeitet... und in der query komponente kann ich den characterset net definieren...
vielen dank für den link, werd ich mir dann auch noch anschauen... |
AW: DBGrid Daten ändern
ich hab mir das ganze mit dem OnGetText oder OnSetText angeschaut...
lt. der beschreibung von embercadero müsst ich da ja schon im vornherein wissen welche felder ich im ergebnis anzeig... aber bei meinem aufbau weiß ich das ja nicht unbedingt im voraus, da ich die felder ja erst im select befehl definiere und nicht schon vorher im designer! |
AW: DBGrid Daten ändern
Hay
Gibt es hierfür schon eine Lösung? Ich bekomme in meiner Anzeige der Daten im DBGrid für die Umlaute ? (Fragezeichen) und komme irgendwie nicht weiter, dass diese nur im Grid geändert angezeigt werden. Gruß Laines |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz