Hi...
Kann sich mal einer ansehen was hier nicht stimmt
Alcaeus versucht mir zu helfen eine Listview mit den Felder zu füllen, die in der Checklistbox
gewählt sind.
Delphi-Quellcode:
//###########################################################################
const Spalten=3;
const SQL_Names: array [0..Spalten-1] of String = ('Order_Type', 'Order_Number', 'Customer_Number');
const List_Names: array [0..Spalten-1] of String = ('Type', 'Auftrag', 'Kunde');
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
Memo1.Lines.Clear;
for i := 0 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 := false;
Screen.Cursor := crHourGlass;
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.Customer_Number;';
qrMain.Open;
qrMain.FieldByName('Order_Type').AsString;
gauge1.Visible:= True;
gauge1.maxvalue := qrMain.recordcount;
lvAnzeige.Items.BeginUpdate;
lvAnzeige.Columns.Clear;
for i := 0 to Spalten-1 do
begin
if CheckListBox1.Checked[i] then
lvAnzeige.Columns.Add.Caption := List_Names[i];
end;
while not qrMain.Eof do
begin
ListItem := lvAnzeige.Items.Add;
ListItem.Caption:=qrMain.FieldByName('Order_Type').AsString;
for i := 0 to Spalten-1 do
begin
if CheckListBox1.Checked[i] then
begin
if bFirst then
begin
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;
Gruß Celina