展开全部
建议用dbgrideh控件,有个属性drawmemotext设置true就可以了
如果用dbgrid,可以参考下如下代码,网络上搜的
a///////////////////////////////////////
procedure TDataGrid1.DrawColumCell(const Rect: TRect; DataCol: integer;
Colum: TColum; State: TGridDrawState);
var
bmp: TBitmap;
OutRect: TRect;
begin
with DataGrid1 do
begin
Canvas.FillRect(Rect);
OutRect := Rect;
InflateRect(OutRect, -2, -2);
if Colum.Field is TGraphicField then
begin
bmp := TBitmap.Create;
try
bmp.Assign(Colum.Field);
Canvas.StretchDraw(OutRect, Bmp);
finally
bmp.Free;
end;
end
else if Colum.Field is TMemoField then
begin
DrawText(Canvas.Handle, Pchar(Colum.Field.AsString),
Length(Colum.Field.AsString), OutRect, dt_WordBreak or dt_NoPrefix);
end
else
DrawText(Canvas.Handle, Pchar(Colum.Field.DisplayText),
Length(Colum.Field.DisplayText),
OutRect, dt_WordBreak or dt_NoPrefix);
end;
end;
b//////////////////////////////////////////////////////////////////////////////////////
首先用query或Table控件来连接dbgrid,
然后双击query/Table控件,右击,选择add all fields,选择定义为memo类型的字段,选择该字段的ongettext事件,在事件里写入以下程序:
text:=trim(Sender.asstring);
displaytext:=true;
如果用dbgrid,可以参考下如下代码,网络上搜的
a///////////////////////////////////////
procedure TDataGrid1.DrawColumCell(const Rect: TRect; DataCol: integer;
Colum: TColum; State: TGridDrawState);
var
bmp: TBitmap;
OutRect: TRect;
begin
with DataGrid1 do
begin
Canvas.FillRect(Rect);
OutRect := Rect;
InflateRect(OutRect, -2, -2);
if Colum.Field is TGraphicField then
begin
bmp := TBitmap.Create;
try
bmp.Assign(Colum.Field);
Canvas.StretchDraw(OutRect, Bmp);
finally
bmp.Free;
end;
end
else if Colum.Field is TMemoField then
begin
DrawText(Canvas.Handle, Pchar(Colum.Field.AsString),
Length(Colum.Field.AsString), OutRect, dt_WordBreak or dt_NoPrefix);
end
else
DrawText(Canvas.Handle, Pchar(Colum.Field.DisplayText),
Length(Colum.Field.DisplayText),
OutRect, dt_WordBreak or dt_NoPrefix);
end;
end;
b//////////////////////////////////////////////////////////////////////////////////////
首先用query或Table控件来连接dbgrid,
然后双击query/Table控件,右击,选择add all fields,选择定义为memo类型的字段,选择该字段的ongettext事件,在事件里写入以下程序:
text:=trim(Sender.asstring);
displaytext:=true;
展开全部
MEMO 是数据库的一些长字段,比如说MEMO型字段,CLOG,BLOG这些大字符串字段,
这些字段默认在DBgrid中是显不出来的,, 即使显出来,也会很难看,因为字段长度太长了.
还是不要显示出来了吧,,建议给每条记录做个详细信息的页面,把这些字段都取出来显示..
这些字段默认在DBgrid中是显不出来的,, 即使显出来,也会很难看,因为字段长度太长了.
还是不要显示出来了吧,,建议给每条记录做个详细信息的页面,把这些字段都取出来显示..
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建立一个计算字段,然后在计算事件里将memo字段转为string
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询