AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Stringgrid zu dem entsprechenen Anfangsbuchstaben springen
Thema durchsuchen
Ansicht
Themen-Optionen

Stringgrid zu dem entsprechenen Anfangsbuchstaben springen

Ein Thema von capo · begonnen am 16. Nov 2006 · letzter Beitrag vom 17. Nov 2006
Antwort Antwort
Seite 2 von 2     12   
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Stringgrid zu dem entsprechenen Anfangsbuchstaben spring

  Alt 16. Nov 2006, 22:12
Zitat:
Wenn die Namen in ihrer Grid-Spalte bereits sortiert sind, dann
die müßten anundfürsich sortiert sein,
ich verwende auch folgenden code, damit wird doch auch sortiert oder nicht?

Delphi-Quellcode:
procedure LocateRow_b(sg: TStringGrid; iCol: Integer; const sText: String);
var
  iRow: Integer;
begin
  with TStringList.Create do
  try
    Assign(sg.Cols[iCol]);
    Sorted := True;
    for iRow := 1 to sg.FixedRows do
      Delete(0);
    Find(sText, iRow);
    sg.Row := iRow + sg.FixedRows;
    sg.Col := iCol;
  finally
    Free;
  end;
end;
const
  NAME_COL_b = 2;

procedure TForm1.Edit2Change(Sender: TObject);
begin
  with Sender as TEdit do
    LocateRow_b(StringGrid1, NAME_COL_b, Text);
  StringGrid1.TopRow := StringGrid1.Row;
end;
Bekomm auch bei dem Buchstaben Z folgende Fehlermeldung

Zitat:
Gitterindex außerhalb des zulässigen Bereichs.
Hotte
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Stringgrid zu dem entsprechenen Anfangsbuchstaben spring

  Alt 16. Nov 2006, 23:46
Das vorherige Problem hat sich erledigt.
Danke
Hotte
  Mit Zitat antworten Zitat
marabu

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

Re: Stringgrid zu dem entsprechenen Anfangsbuchstaben spring

  Alt 17. Nov 2006, 07:29
Guten Morgen.

Damit sich das Problem auch für alle anderen erledigt hat, habe ich eine kleine Anpassung an meinem Code in Beitrag #7 gemacht.

Zitat von capo:
... ich verwende auch folgenden code, damit wird doch auch sortiert oder nicht?
Vorsicht! Wenn ich Sorted auf True setze, dann nur um den binary search mode einzuschalten. Die Daten im Grid müssen trotzdem schon sortiert vorliegen.

Freundliche Grüße
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Stringgrid zu dem entsprechenen Anfangsbuchstaben spring

  Alt 17. Nov 2006, 11:04
hallo marabu
habs nun auch endlich mit dem sortieren verstanden
ich mach das so
Delphi-Quellcode:
  StringGrid1.SortSettings.Direction := sdAscending;
          StringGrid1.SortSettings.Column := 0;
          StringGrid1.QSort;
ich habe nun doch noch eine frage
bekomme wieder folgende meldung
Zitat:
Gitterindex außerhalb des zulässigen Bereichs.
das liegt wohl daran das kein Z in der liste vorhanden ist
läßt ich diese fehlermeldung abschalten?

hab hier zwei beispiele gefunden, mal abgesehen davon weiss ich nicht ob der fehler damit zu beheben ist:
if TopRow+Visiblerowcount<rowcount then toprow:=toprow+1;
Zitat:
fehlermeldung:
[Fehler] Unit1.pas(806): Undefinierter Bezeichner: 'Visiblerowcount'
[Fehler] Unit1.pas(806): Undefinierter Bezeichner: 'rowcount'

if StringGrid1.TopRow+Visiblerowcount<rowcount then StringGrid1.toprow:=StringGrid1.toprow+1;
Zitat:
fehlermeldung:
[Fehler] Unit1.pas(807): Undefinierter Bezeichner: 'fixedrows'
[Fehler] Unit1.pas(807): Undefinierter Bezeichner: 'toprow'
gruss vom capo
Hotte
  Mit Zitat antworten Zitat
marabu

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

Re: Stringgrid zu dem entsprechenen Anfangsbuchstaben spring

  Alt 17. Nov 2006, 13:42
Der ausgebüchste Gitterindex sollte tatsächlich auf das nicht vorhandene Z zurück zu führen sein. Hast du meine Korrektur im Beitrag #7 übersehen? Damit sollte dieser Fehler nicht mehr auftreten.

Freundliche Grüße
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Stringgrid zu dem entsprechenen Anfangsbuchstaben spring

  Alt 17. Nov 2006, 15:00
Zitat:
Hast du meine Korrektur im Beitrag #7 übersehen?
hallo
nein hab ioch natürlich sofort ausprobiert, und auch damit hab ich den fehler.
steht das auch richtig im Edit1Change?
nun, ich probier hier mal weiter.
capo

[EDIT]
doch nun funktioniert es
hab anstatt
Delphi-Quellcode:
procedure LocateRow_vorname(sg: TStringGrid; iCol: Integer; const sText: String);
var
  iRow: Integer;
begin
 ...
    for iRow := 1 to sg.FixedRows do
...
end;

das gemacht weil die reihe darüber immer noch mit angezeigt wird, also der curso springt im stringgrid immer eine zeile über das ergebnis,deshalb.

Delphi-Quellcode:
procedure LocateRow_vorname(sg: TStringGrid; iCol: Integer; const sText: String);
var
  iRow: Integer;
begin
 ...
    for iRow := 2 to sg.FixedRows do
...
end;
mal sehen vielleicht kann ich das auch anders erreichen.
Hotte
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Stringgrid zu dem entsprechenen Anfangsbuchstaben spring

  Alt 17. Nov 2006, 23:28
komisch wenn ich das
Sorted := True;
rausnehme, wird bei der suche nach A alles richtig angezeigt
Delphi-Quellcode:
  with TStringList.Create do
  try
    Assign(sg.Cols[iCol]);
  Sorted := True;
s. [Edit] im vorherigen beitrag
Hotte
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 18:03 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