AGB  ·  Datenschutz  ·  Impressum  







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

StringGrid Spalte zu lang...

Ein Thema von Tim Henford · begonnen am 16. Mär 2007 · letzter Beitrag vom 17. Mär 2007
Antwort Antwort
Tim Henford

Registriert seit: 14. Sep 2006
169 Beiträge
 
#1

StringGrid Spalte zu lang...

  Alt 16. Mär 2007, 13:02
Hallo,

ich möchte die Daten einer Datenbank aus einem DBGrid in ein StringGrid tansferieren, um diese dann offline bearbeiten, speichern und lesen zu können.
Hab die Daten in einem StringGrid und laden-speichern hab ich wie hier gelöst:

Aber da scheinen zu viele Spalten drin zu sein, um das alles in eine Zeile in einer Datei zu speichern, denn er macht dann immer eine neue und dann kommt das ganze StringGrid beim Laden durcheinander.

Was könnte man da machen?
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#2

Re: StringGrid Spalte zu lang...

  Alt 16. Mär 2007, 13:12
das problem ist,dass du in den zellen sicherlich den seperator hast, damit wird die zelle dann geteilt!

schau dir mal in der oh den beitrag zum commatext an!
  Mit Zitat antworten Zitat
Tim Henford

Registriert seit: 14. Sep 2006
169 Beiträge
 
#3

Re: StringGrid Spalte zu lang...

  Alt 16. Mär 2007, 23:17
Hab jetzt festgestellt, dass der Zeilenumbruch durch das Übernehmen des Inhalts eines Memos kommt.
Also es ist mehrzeilig und das wird so in die Tabelle übernommen und natürlich so in die Datei hinterlegt.

Was kann ich denn da machen? Wie filtere ich das heraus bzw. kann ich das irgendwie ersetzen?

Danke
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: StringGrid Spalte zu lang...

  Alt 17. Mär 2007, 07:22
Hallo Tim,

Grids sind für die Behandlung von einzeiligen Texten ausgelegt, sowohl was die Anzeige betrifft, als auch das Bearbeiten. Für die Bearbeitung (Edit) wird ein inplace editor verwendet - im Prinzip ein Edit-Control, welches an der gerade benötigten Stelle eingeblendet wird. Entweder du treibst einigen Aufwand um mehrzeilige Daten in einem Grid anzeigen und bearbeiten zu können oder du machst Kompromisse.

Ein häufig zu beobachtender Kompromiss ist: Die Spalte mit mehrzeiligen Texten zeigt nur die erste nicht leere Textzeile und einen Hinweis auf weiteren Inhalt an, ist aber nicht direkt editierbar. Zum Ändern wird der Text der aktuellen Grid-Zeile in ein Memo geladen.

Es sind viele andere Kompromisse denkbar.

Freundliche Grüße
  Mit Zitat antworten Zitat
Tim Henford

Registriert seit: 14. Sep 2006
169 Beiträge
 
#5

Re: StringGrid Spalte zu lang...

  Alt 17. Mär 2007, 08:42
Danke.
Hm, das ist natürlich schade.
Ist es denn vielleicht möglich dieses #13#10 oder \n "Sonderzeichen" mit pos() oder so zu ermitteln in der Spalte und dann eventuell gegen ein sichtbares in der Datei zu ersetzen, sodass alles in einer Zeile steht und dann dieses Sonderzeichen beim Laden wieder gegen #13#10 umzuwandeln?

EDIT>>
Alles klar, StringReplace & pos haben funktioniert...
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#6

Re: StringGrid Spalte zu lang...

  Alt 17. Mär 2007, 09:26
Hallo Tim,

schau doch mal bei sdc nach...
TMemo mit einer StringGrid-Zelle kombinieren
  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 11:12 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