AGB  ·  Datenschutz  ·  Impressum  







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

Rückgabe aus Stringgrid

Ein Thema von Privateer3000 · begonnen am 25. Mär 2008 · letzter Beitrag vom 26. Mär 2008
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: Rückgabe aus Stringgrid

  Alt 25. Mär 2008, 16:00
so, habs ausprobiert.
Bekomme aber keine Werte zurück
mittels Selectedrows...

um zu sehen ob ausgelesen wird
wird es mittels Listbox angezeigt.
Quell ist aus der OH.
Delphi-Quellcode:
procedure Tartgruppen.ggridCellClick(Column: TColumn);
var
  i, j: Integer;
  s: string;
begin
  if ggrid.SelectedRows.Count>0 then
  with ggrid.DataSource.DataSet do
    for i:=0 to ggrid.SelectedRows.Count-1 do
      begin
        GotoBookmark(pointer(ggrid.SelectedRows.Items[i]));
        for j := 0 to FieldCount-1 do
        begin
          if (j>0) then s:=s+', ';
          s:=s+Fields[j].AsString;
        end;
        Listbox1.Items.Add(s);
        s:= '';
      end;
end;
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Rückgabe aus Stringgrid

  Alt 25. Mär 2008, 16:04
Da ein DBGrid ein DataSet visualisiert, würde ich direkt über das DataSet zugreifen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: Rückgabe aus Stringgrid

  Alt 26. Mär 2008, 10:06
Hiho,
das ganze funktioniert einfach nicht.
Die Listbox bleibt leer...
hier mal der ganze Code, wenn ihr bitte mal drüber guckt:
Delphi-Quellcode:
type
  Tartgruppen = class(TForm)
    gruname: TEdit;
    gquer: TADOQuery;
    sPanel1: TsPanel;
    speichern: TsButton;
    loesch: TsButton;
    sLabel1: TsLabel;
    sLabel2: TsLabel;
    ggrid: TDBGrid;
    gsource: TDataSource;
    upquer: TADOQuery;
    ListBox1: TListBox;
    upds: TDataSource;
    procedure speichernClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure ggridCellClick(Column: TColumn);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  artgruppen: Tartgruppen;

implementation

{$R *.dfm}
uses haupt,DatenModulUnit;

procedure auslesen(const grid:TDBGrid; ugquer:TADOQuery);
var xc: Integer;
begin
grid.Columns[0].Width:=20;
grid.Columns[1].Width:=170;
ugquer.Close; ugquer.SQL.Clear;
ugquer.SQL.Add('SELECT * FROM artgr');
ugquer.Open;
end;

procedure Tartgruppen.speichernClick(Sender: TObject);
begin
gquer.Close; gquer.SQL.Clear;
gquer.SQL.Add('INSERT INTO artgr (NAME) VALUES ('+QuotedStr(gruname.Text)+')');
gquer.ExecSQL;
auslesen(ggrid,upquer);
gruname.SetFocus;
gruname.Text:='';
end;

procedure Tartgruppen.FormActivate(Sender: TObject);
begin
auslesen(ggrid,upquer);
end;

procedure Tartgruppen.ggridCellClick(Column: TColumn);
var
  i, j: Integer;
  s: string;
begin
  if ggrid.SelectedRows.Count>0 then
  with ggrid.DataSource.DataSet do
    //with ggrid1.DataSource.DataSet do
      for i:=0 to ggrid.SelectedRows.Count-1 do
      begin
        GotoBookmark(pointer(ggrid.SelectedRows.Items[i]));
        for j := 0 to FieldCount-1 do
        begin
          if (j>0) then s:=s+', ';
          s:=s+Fields[j].AsString;
        end;
        Listbox1.Items.Add(s);
        s:= '';
      end;
end;
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#14

Re: Rückgabe aus Stringgrid

  Alt 26. Mär 2008, 10:19
Hai Privateer3000,

wie mkinzler schon sagte würde ich nicht über das TDBGrid arbeiten. Den Spaltenwechsel bekommst Du im OnAfterScroll des DataSet.
Dort würde ich dann die Listbox füllen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#15

Re: Rückgabe aus Stringgrid

  Alt 26. Mär 2008, 10:27
Hai
ich will keine Listbox füllen,
die ist nur zur kontrolle da.
Im Endeffekt soll der Datensatz gelöscht werden
der im DBGrid markiert wurde.
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#16

Re: Rückgabe aus Stringgrid

  Alt 26. Mär 2008, 10:32
Zitat von Privateer3000:
... Im Endeffekt soll der Datensatz gelöscht werden
der im DBGrid markiert wurde.
Na dann mache es doch einfach. Das DBGrid zeigt nur Daten an. Der Datensatzzeiger des Query steht immer auf dem im Gridmarkierten Datensatz. Also musst Du doch nur ein:
Delphi-Quellcode:
begin
  query.delete;
end;
machen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#17

Re: Rückgabe aus Stringgrid

  Alt 26. Mär 2008, 13:19
Danke,
welche komponenten sind dafür nötig?
zu dem DBGrid gehören im Moment ein Datasource
und ein ADOQuery und wie müssen die konfiguriert werden.


Grüße
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#18

Re: Rückgabe aus Stringgrid

  Alt 26. Mär 2008, 14:01
um ihn zur Kontrolle auch anzuzeigen hab ich das versucht:
Delphi-Quellcode:
procedure Tartgruppen.ggridCellClick(Column: TColumn);
begin
  if ggrid.SelectedRows.Count>0 then
  gruname.Text:=gquer.Fields[1].Value;
end;
das funktioniert nicht.

Das mit dem löschen klappt aber!
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  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 23:18 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