AGB  ·  Datenschutz  ·  Impressum  







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

Listview Spalten zur Laufzeit?

Ein Thema von celinaw · begonnen am 29. Apr 2004 · letzter Beitrag vom 1. Mai 2004
Antwort Antwort
Seite 3 von 5     123 45      
Benutzerbild von celinaw
celinaw

Registriert seit: 2. Apr 2004
162 Beiträge
 
#21

Re: Listview Spalten zur Laufzeit?

  Alt 30. Apr 2004, 03:41
Hier ..........
Angehängte Dateien
Dateityp: zip otis_908.zip (40,2 KB, 9x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#22

Re: Listview Spalten zur Laufzeit?

  Alt 30. Apr 2004, 03:55
hallo celina folgender quelltext, liefert zu mindestens erstmal die spaltennamen
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, CheckLst, ComCtrls;
const
spalten = 3;
listcolum: array[0..spalten-1] of string = ('kunde','num','auftrag');
type
  TForm1 = class(TForm)
    
    btn1: TButton;
    ListView1: TListView;
    procedure btn1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
var
  i:integer;
  col:TListColumn;
begin
   for i:=0 to high(listcolum) do
   begin
    col:=listview1.Columns.Add;
    col.Caption:=listColum[i];
   end;
end;

end.
einfach ein button und ein listview auf die form, versuche erstmal das listview zu verstehen.

so das wars für heute , bis morgen raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Benutzerbild von celinaw
celinaw

Registriert seit: 2. Apr 2004
162 Beiträge
 
#23

Re: Listview Spalten zur Laufzeit?

  Alt 30. Apr 2004, 04:03
Ja, das funktioniert
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#24

Re: Listview Spalten zur Laufzeit?

  Alt 30. Apr 2004, 05:12
Delphi-Quellcode:

const
  Spalten = 3;
  SQL_Names: array [0..Spalten] of String = (<Spaltenname1>, <Spaltenname1>, ...);
  List_Names: array [0..Spalten-1] of String = (<Spaltenname1>, <Spaltenname1>, ...);

procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  for i := to Spalten-1 do
  begin
    CheckListBox1.Items.Add(List_Names[i]);
    CheckListBox1.Checked[i] := True;
  end;
end;

procedure TForm1.bSucheClick(Sender: TObject);
var
  bFirst: Boolean;
  i: Integer;
  ListItem : TlistItem;
begin
  bFirst := True;
  Screen.Cursor := crHourGlass;
  lfertig.Caption:= '';
  lInfo.Caption:='';
  Memo1.Lines.Clear;
  dbMain.HostName:=SetupForm.edServer.Text; //Server
  dbMain.User:=SetupForm.edLogin.Text; //Benutzername
  dbMain.Password:=SetupForm.edPassword.Text; //Passwort
  dbMain.Database:=SetupForm.edDB.Text; //Name der Datenbank
  dbMain.Connected:=True; //Verbindung herstellen
  lvAnzeige.Items.Clear;
  try
    qrMain.SQL.Text :=
      'SELECT * ' +
      'FROM ' +
      'table_ordertracking T,' +
      'kundenmg K ' +
    'WHERE ' +
      'T.Customer_Number=K.Customer_Number ' +
      'AND ' +
      'T.Customer_Number like ''' + edknr.Text + '''"%" ' +
      'AND ' +
      'T.Order_Number like ''' + edatnr.Text + '''"%" ' +
    'ORDER BY ' +
      'T.DPrint;';

    qrMain.Open;
//** Diese Zeile könnte die Lösung sein. **
    qrMain.FetchAll;
//*****************************************
    qrMain.FieldByName('Order_Type').AsString;
    gauge1.Visible:= True;
    gauge1.maxvalue := qrMain.recordcount;
    lvAnzeige.Items.BeginUpdate;
    lv_Anzeige.Columns.Clear;
    lv_Anzeige.Items.Clear;
    for i := 0 to Spalten-1 do //Spaltenarray durchlaufen und alle "gewählten" Spalten hinzufügen.
    begin
      if CheckListBox1.Checked[i] then
        lv_Anzeige.Columns.Add.Caption := List_Names[i];
    end;
    while not qrMain.Eof do
    begin
      ListItem := lvAnzeige.Items.Add; //Neues Element in die ListView
      for i := 0 to Spalten-1 do //Alle möglichen Spalten durchgehen
      begin
        if CheckListBox1.Checked[i] then //Soll die gewählte Spalte angezeigt werden?
        begin
          if bFirst then //Ist diese Spalte die erste?
          begin //ja => Caption setzen
            if SQL_Names[i] = 'First_Eventthen
              ListItem.Caption := FormatDateTime('dd.mm.yyyy hh:mm:ss', qrMain.FieldByName(SQL_Names[i]).AsDateTime);
            else
              ListItem.Caption := qrMain.FieldByName(SQL_Names[i]).AsString;
            bFirst := False;
          end
          else //Nein => SubItem hinzufügen
          begin
            if SQL_Names[i] = 'First_Eventthen
              ListItem.SubItems.Add(qrMain.FieldByName(FormatDateTime('dd.mm.yyyy hh:mm:ss', qrMain.FieldByName(SQL_Names[i]).AsDateTime));
            else
              ListItem.SubItems.Add(qrMain.FieldByName(SQL_Names[i]).AsString);
          end;
        end;
      end;
      gauge1.progress := gauge1.progress + 1;
    end;
    lvAnzeige.Items.EndUpdate;
    gauge1.progress := 0;
    gauge1.Visible:= false;
  finally
    dbMain.Connected:=False; //Verbindung trennen
    Screen.Cursor := Cursor;
  end;
end;
@celina: Ich habe den Code wiederum nicht getestet, ich habe keine Zeit... aber ich werde mir ihn in naher Zukunft vorknöpfen, aber theoretisch fügt dieser Code alle Spalten hinzu, gibt ihnen Überschriften und fügt Elemente ein, solange welche vorhanden sind.

[add]Ich kenne die TZQuery-Komponente ja nicht, aber probier mal den Code einzufügen, der zwischen großen Kommentarstrichen steht. Vielleicht hilft das mit den Items. Außerdem verstehe ich den Sinn der Zeile darunter nicht...wieso ist die drinnen?[/add]
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von celinaw
celinaw

Registriert seit: 2. Apr 2004
162 Beiträge
 
#25

Re: Listview Spalten zur Laufzeit?

  Alt 30. Apr 2004, 05:33
Hi, Guten Morgen Alcaeus!

Werde ich mal ausprobieren. Melde mich wieder..


Gruß Celina
  Mit Zitat antworten Zitat
Benutzerbild von celinaw
celinaw

Registriert seit: 2. Apr 2004
162 Beiträge
 
#26

Re: Listview Spalten zur Laufzeit?

  Alt 30. Apr 2004, 07:00
Hi

Diese Funktion
Zitat:
qrMain.FetchAll;
gibt es bei den Zeos Kompos wohl nicht.

Wofür ist die ?

Ich denke die Zeos Kompos werden etwas ähnliches unter einem anderen Namen haben

Gruß Celina
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#27

Re: Listview Spalten zur Laufzeit?

  Alt 30. Apr 2004, 07:03
FetchAll müsste alle Datensätze in den lokalen Cache holen. Lass dir mal mit ShowMessage ein Meldungsfenster anzeigen, und zwar jedesmal wenn er ein Feld hinzufügen soll, also unter folgender Zeile im Quellcode:
Delphi-Quellcode:
if CheckListBox1.Checked[i] then //Soll die gewählte Spalte angezeigt werden?
begin
Du fügst einfach
ShowMessage('i='+IntToStr(i)); ein, dadurch siehst du den Zähler, und du siehst, wieviel Elemente wirklich hinzugefügt werden.
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von celinaw
celinaw

Registriert seit: 2. Apr 2004
162 Beiträge
 
#28

Re: Listview Spalten zur Laufzeit?

  Alt 30. Apr 2004, 07:26
Hi

Die Message ist i=0
i=1
i=2

und wieder von vorn....
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#29

Re: Listview Spalten zur Laufzeit?

  Alt 30. Apr 2004, 10:42
Ja, die Ausgabe müsste stimmen, das heißt dass dir deine Werte eingefügt werden. Bist du sicher dass in der Datenbank etwas drinnensteht?
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von celinaw
celinaw

Registriert seit: 2. Apr 2004
162 Beiträge
 
#30

Re: Listview Spalten zur Laufzeit?

  Alt 30. Apr 2004, 21:53
Hi

Klar bin ich mir sicher

Ich denke das fast 90.000 Datensätze genügen sollten

Es funktioniert ja auch der Code den ich bissher verwende. Ist nur leider nicht möglich die Spalten aus zu wählen.

Gruß Celina
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


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 01:04 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