Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Grid- angeklickte Zeile auf Edit auslesen (https://www.delphipraxis.net/194335-grid-angeklickte-zeile-auf-edit-auslesen.html)

leniii 10. Nov 2017 11:40

Grid- angeklickte Zeile auf Edit auslesen
 
Hallo :)

Ich arbeite erst seit kurzem mit Delphi und programmiere jetzt eine Webanwendung. Nun habe ich folgendes Problem:

Ich habe ein Grid(TIWCGJQGrid) und möchte wenn ich eine Zeile anklicke, diese auf einem Edit ausgeben. Die Einträge habe ich aus einer mysql-DB. Die Einträge, die auf dem Grid sind, sind die Namen von Personen. Wenn ich nun eine Zeile anklicke soll mir auf dem Edit das Geburtsdatum der Person ausgegeben werden. Beide Attribute stehen in einer Tabelle.
Ich hoffe ich habe mich halbwegs verständlich ausgedrückt :D

Viele Grüße

Leniii

p80286 10. Nov 2017 14:58

AW: Grid- angeklickte Zeile auf Edit auslesen
 
Da ich Dein Grid nicht kenne (TIWCGJQGrid,) nur ein allgemeiner Vorschlag. Das Grid hat bestimmt eine OnClick-Behandlung. Die erweiterst Du um Deine Ansprüche und fertig ists.

Gruß
K-H

leniii 13. Nov 2017 14:37

AW: Grid- angeklickte Zeile auf Edit auslesen
 
Hey, ich arbeite mit den CGDevTools und dort gibt es TIWCGJQGrid. Ich komme einfach nicht auf die Lösung, wie ich das hinbekommen soll :(
Ich habe es mit der OnClick-Behandlung probiert, aber nicht aufs richtige gekommen :(

Wenn ich im Internet suche finde ich nur zu DBGrids etwas.
Wäre sooo cool, wenn jemand mir helfen könnte

stifflersmom 13. Nov 2017 14:44

AW: Grid- angeklickte Zeile auf Edit auslesen
 
Ist das Grid nicht per Datasource mit irgendeiner Datenquelle verbunden?
Wenn ja, reicht es aus, einfach ein DBEdit auf das Formular zu ziehen, dieses auch mit der selben Datasource zu verbinden und dann das passende Feld aus der Datenmenge auszuwählen.

nahpets 13. Nov 2017 14:59

AW: Grid- angeklickte Zeile auf Edit auslesen
 
Es geht um eine Webanwendung!

Das Einzige, was ich in die Richtung finden konnte, steht hier: CGDevTools Forum - Link detection

Eventuell noch hiervon ausgehend weitersuchen? How to synchronized a IWCGJQNavigator with a IWCGJQGrid?

Googles Ergebnisse dazu sind eher mager: TIWCGJQGrid onclick

leniii 15. Nov 2017 07:59

AW: Grid- angeklickte Zeile auf Edit auslesen
 
Hey ich habe es endlich rausbekommen :-D

Vielen Dank für eure Hilfe und falls jemand die Lösung dafür mal braucht einfach Bescheid geben :)

Leniii

DeddyH 15. Nov 2017 08:09

AW: Grid- angeklickte Zeile auf Edit auslesen
 
Poste die Lösung doch einfach, das gibt diesem Thread gleich mehr Sinn ;)

TiGü 15. Nov 2017 08:48

AW: Grid- angeklickte Zeile auf Edit auslesen
 
Schreib sie doch einfach jetzt hin.
Wenn jemand in drei Jahren vor dem gleichen Problem steht, hast du dieses Forum und deinen Thread hier schon längst vergessen.

leniii 15. Nov 2017 09:07

AW: Grid- angeklickte Zeile auf Edit auslesen
 
Jap, gibt Sinn :D

Also zuerst ist das eine Funktion die ein String trennt. Die brauche ich später.

Delphi-Quellcode:
function splitOutIndex(const Source: String; const Delimiter: String; Index: Integer): String;
var
  Lcount, Lnumber, LSourceLength, LDelLength, LStart, LEnd: Integer;
begin
  Lcount := 1;
  Lnumber := 0;
  if Index = 0 then
    LStart := 1
  else
    LStart := 0;

  LEnd := 0;
  result := '';
  LSourceLength := length(Source);
  LDelLength := length(Delimiter);

  while (Lcount <= LSourceLength) and (LEnd = 0) do
  begin
    if copy(Source, Lcount, LDelLength) = Delimiter then
    begin
      inc(Lnumber);
      if Lnumber >= Index then
      begin
        if LStart = 0 then
          LStart := Lcount + LDelLength
        else
        begin
          LEnd := Lcount;
          result := copy(Source, LStart, LEnd - LStart);
        end;
      end;
      Lcount := Lcount + LDelLength;
    end
    else
      inc(Lcount);
  end;
  if (LStart > 0) and (LEnd = 0) then
    result := copy(Source, LStart, LSourceLength - LStart + 1);
end;
Und das ist jetzt die eigentliche Prozedur, die, wenn ich eine Zeile anklicke, die SELROW der Zeile auf dem Label_releaseDate ausgibt.
Ich hoffe es ist halbwegs verständlich :D
Delphi-Quellcode:
procedure TUpdatesFr.GridFilesJQGridOptionsCellSelect(Sender: TObject; AParams: TStringList);
var
  s: String;
  i: Integer;
  outcome: TStringList;
  LFound: Boolean;
begin
  LFound := False;
  for i := 0 to AParams.count - 1 do
  begin
    if AParams[i].Contains('_SELROW') then
    begin
      updateversion.Filter:= 'WHERE id =: s';
      updateversion.ParamByName('s').AsString:= splitOutIndex(AParams[i], '=', 1);
      updateversion.Open;
      if updateversion.RecordCount>0 then
      begin
        Label_releaseDate.Text:= updateversion.FieldByName('releasedate').AsString;
      end
      else
      begin
        webApplication.showMessage('Kein Datum gefunden.');
      end;
      LFound := True;
      break;
    end;

  end;
  if not LFound then
    webApplication.ShowMessage('Kein SelRow drin');
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:54 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