Autor Beitrag
bockwurst
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 191

win98 /XP
D1 D5 Prof DE2005PE
BeitragVerfasst: Mo 09.05.05 12:00 
Hallo,
wie kann ich alle Zeilen per Knofdruck in einem DBGrid markieren, so als wenn ich mit der Maus jede einzele Zeile markiert hätte.
Gibt es dafür einen Befehl: so in der Art "DBGrid.markAll"

Gruß Andreas
OlliWausD
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 212

Win 2000/XP
Delphi 5 Professional - Interbase/Firebird
BeitragVerfasst: Mo 09.05.05 12:17 
naja, so einfach ist es nicht.

aber schau mal hier:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure tfFenster.selektierung;
var 
  myRect: TGridRect;
begin
  MyRect.Left := 0;
  myRect.Top := 0;
  myRect.Right := //Columncount/Fieldcount, je nach dem;
  myRect.Bottom := table.recordcount-1;
  stringgrid.Selection := myRect;
end;


mfg

Olli W

ps.: spontan geschrieben. Nicht getestet

_________________
Take it easy
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Mo 09.05.05 12:37 
Hallo,

@OlliWausD
Selection gibt es doch nur beim StringGrid, oder :?

Um alle Datensätze zu markieren kann folgender Code eingesetzt werden:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
with Table1 do
  begin
  First;
  while (not Eof) do
    begin
    DBGrid1.SelectedRows.CurrentRowSelected := True;
    Next;
    end;
  end;


//edit: in Options muss natürlich dgMultiSelect = TRUE sein.

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
bockwurst Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 191

win98 /XP
D1 D5 Prof DE2005PE
BeitragVerfasst: Mo 09.05.05 13:10 
Vieln Dank an euch beide,
ich werde es gleich mal testen.

Lg. Andreas
bockwurst Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 191

win98 /XP
D1 D5 Prof DE2005PE
BeitragVerfasst: Mo 09.05.05 13:46 
ich habe "leider eine Query (SQL-Abfrage für mein Grid)) die die Tabelle schon "gefiltert" hat. Die Daten sind auch schon auf dem Grid.

Ich würde es gerne so in dieser schreiben, eben nur für alle Datensatzen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
  with DBGrid1.DataSource.DataSet do
    for i:=0 to DBGrid1.SelectedRows.Count-1 do
    begin
      GotoBookMark(pointer(DBGrid1.SelectedRows.Items[i]));
      s:=Fields[0].AsString;
      ....
bockwurst Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 191

win98 /XP
D1 D5 Prof DE2005PE
BeitragVerfasst: Mo 09.05.05 14:04 
ich weiß zwar nicht genau warum, aber es funkt. Ich habe einfach folgendes ausprobiert:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
with DBGrid1.DataSource.DataSet do
begin
  First;
  while (not Eof) do
  begin
    DBGrid1.SelectedRows.CurrentRowSelected := True;
    Next;
  end;
end;