Ich habe jetzt folgendes Problem: Es sind einfach zu viele Spalten vorhanden. Wie Sharky, will ich lieber automatisch die notwendigen Spalten automatisch im Grid drin haben und dann eine Auswahlbox bringen, wo die anderen Felder hinzugefügt werden können. Nun habe ich mir mal die Lieferanten vorgeknöpft :
Code:
procedure TForm2.DBGrid1TitleClick(Column: TColumn);
begin
with LiefModul.LiefDS do begin
Close;
SelectSQL.Text := 'SELECT * FROM LIEF8 WHERE NR >= ' +
LabeledEdit1.Text + ' AND NR <=' + LabeledEdit2.Text+' ORDER BY ' + Column.FieldName;
if RadioGroup1.ItemIndex = 1 then
SelectSQL.Text := SelectSQL.Text + ' DESC';
Open;
end;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
with LiefModul do begin
DBGrid1.Hide;
LiefDS.Close;
LiefDS.SelectSQL.Text := 'SELECT NR, NAME FROM LIEF8 WHERE NR >= ' +
LabeledEdit1.Text + ' AND NR <=' + LabeledEdit2.Text+' ORDER BY NR';
LiefDS.Open;
DBGrid1.Show;
end;
end;
Für Testzwecke setze ich die Select Anweisung per ButtonClick auf Anzeige nur der Nr und des Namens. Soweit geht das auch so, ABER die Titelzeile des Grids enthält immer noch alle Felder und ist genauso breit wie vorher. Das Grid weiß Sachen, die es nicht wissen soll/kann.