Hallo DPler ich hab ein ganz doofes Problem. Ich möchte wenn ich in einem DBGrid auf den Namen klicke, dass es nach dem ColumnNamen sortiert wird. Es funktioniert auch nur verändert er die Colunmbreite. Wenn ich einen Haltepunkt einfüge um zu sehen ob er alles richtig macht, geht es und er lässt die Breite wie sie ist.
Genauso ist es beim Laden eines Bildes mit Haltepunkt geht es, ohne nicht.
Hier der
Query zum sortieren.
Code:
procedure TMainFrm.grdKundenTitleClick(Column: TColumn);
var i: integer;
s: String;
begin
for i := 0 to grdKunden.Columns.Count -1 do begin
if Column.Index = i then begin
qryKunden.Close;
qryKunden.SQL.Clear;
s:= grdKunden.Columns[i].FieldName;
qryKunden.SQL.Add('SELECT * FROM kunden ORDER BY ' + s);
qryKunden.Open;
end;
end;
end;
und hier der zum laden eines Bildes.
Code:
procedure TMainFrm.qryBilderAfterScroll(DataSet: TDataSet);
var Str: TMemoryStream;
begin
btnSave.Enabled := DataSet.RecordCount > 0; // MainFrm
Str := TMemoryStream.Create;
try
TBlobField(DataSet.FieldByName('Datei')).SaveToStream(Str);
Str.Position := 0;
if Str.Size = 0 then begin
imgPLBild.Picture.Graphic := nil;
Exit;
end;
if imgPLBILD.Picture.Graphic = nil then
imgPLBILD.Picture.Graphic := TJPEGImage.Create;
imgPLBILD.Picture.Graphic.LoadFromStream(Str);
imgPLBild.Repaint;
finally
Str.Free;
end; // finally
end;
Ich hab echt keine Idee mehr, zumal ich mit der Programmierung eh nicht so fit bin und das meine erste Datenbank ist.
Ich hoffe Ihr könnt mir helfen.