ich lese aus einer Datenbank, unter Anderen, auch ein Memo-Feld aus und möchte ich diese Daten in einem TStringgrid darstellen:
Code: Alles auswählen
while not DataModuleDokumente1.ZQueryPositionenTemp.Eof do
begin
StringGridPositionen.Cells[0, DataModuleDokumente1.ZQueryPositionenTemp.RecordCount]:= IntToStr(DataModuleDokumente1.ZQueryPositionenTemp.RecordCount);
StringGridPositionen.Cells[1, DataModuleDokumente1.ZQueryPositionenTemp.RecNo]:= DataModuleDokumente1.ZQueryPositionenTempANZAHL.asString;
StringGridPositionen.Cells[2, DataModuleDokumente1.ZQueryPositionenTemp.RecNo]:= DataModuleDokumente1.ZQueryPositionenTempARTIKELNR.asString;
StringGridPositionen.Cells[3, DataModuleDokumente1.ZQueryPositionenTemp.RecNo]:= DataModuleDokumente1.ZQueryPositionenTempBESCHREIBUNG.AsString;
meinstring := DataModuleDokumente1.ZQueryPositionenTempBESCHREIBUNG.AsString;
DataModuleDokumente1.ZQueryPositionenTemp.Next;
end;
Code: Alles auswählen
procedure TFrameDokumente.StringGridPositionenPrepareCanvas(Sender: TObject; aCol, aRow: Integer; aState: TGridDrawState);
var
Ts: TTextStyle;
begin
if aCol = 3 then //In dieser Spalte wird das Memo dargestellt
begin
Ts := StringGridPositionen.Canvas.TextStyle;
Ts.SingleLine := false;
Ts.Wordbreak := true;
StringGridPositionen.Canvas.TextStyle := Ts;
end;
end;
Code: Alles auswählen
procedure TFrameDokumente.StringGridPositionenDrawCell(Sender: TObject; aCol, aRow: Integer; aRect: TRect; aState: TGridDrawState);
begin
DrawText(self.Canvas.Handle, PChar(meinstring), length(meinstring), aRect, DT_CalcRect or DT_WordBreak or DT_NoClip);
StringGridPositionen.RowHeights[1]:=aRect.Bottom;
end;
Gruß, Luckner