Hola compañeros.
En lugar de estar en el chiringuito con una cerveza y unas aceitunas, estamos en el despacho con el aire acondicionado programando... y es que siempre han existido clases, y contra más clases... más sabes, y contra más sabes... más trabajas y más responsabilidad, y no directamente proporcional al... parné. Pero en fin, dentro de unos días estaré por Formentera y esta vez prometo perder el teléfono movil.
Al royo.
Necesitaba visualizar datos de un memo en un dbgrid. Historicamente siempre lo tenía pendiente, pues bien, he encontrado un truco en trucomania y mejor o peor lo he adecuado (ya que ese truco no funcionaba como estaba publicado) y con este algoritmo se visualiza perfectamente.
Para todos aquellos que lo necesiten, aquí lo tienen.
Faltará adecuarlo y seguramente perfeccionarlo, pero esto ya es algo.
Suerte a todos y gracias.
// De como visualizar y sólo visualizar un campo memo en un grid
procedure TFBuscaProveedores.DBGridSQLBusquedaDrawColumnCell(
Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
Grid : TStringGrid;
Texto : String;
Rectangulo : TRect;
begin
Rectangulo:=Rect;
Grid := TStringGrid(Sender);
if DataCol = 14 then // Aquí esta la pega de tener que poner esta
begin // constante "14" indicativa de la columna del grid
Grid.Canvas.FillRect(Rect); // q representa el memo
Texto := DBGridSQLBusqueda.Fields[14].Value;
DrawText( Grid.Canvas.Handle,
PChar(Texto),
StrLen(PChar(Texto)),
Rectangulo,
DT_WORDBREAK);
end;
end;