关于AdvStringGrid的使用

jjchen123 2008-12-31 10:25:34
近段时间学习使用AdvStringGrid,想在指定单元里用百分率显示!
可以用AdvStringGrid1GetFormat实现吗?请高手指教。。
还有,请问谁有关于
AdvStringGrid的帮忙文档,可以传我一份吗?谢谢。。
QQ:80415365
Email:jjchen123@126.com
...全文
177 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuyanfeng 2008-12-31
  • 打赏
  • 举报
回复
我觉得GetFormat事件肯定不能实现。不过有另一种方法能实现,就是DrawCell事件,在这个事件中,你想怎么显示就怎么显示。例子如下:
procedure TForm1.asg1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
strCellText: string;
dblValue: double;

function IsNum(str: string): boolean;
var
i: integer;
begin
for i := 1 to length(str) do
if not (str[i] in ['0'..'9', '.', '+', '-']) then
begin
result := false;
exit;
end;
result := true;
end;

begin
strCellText := asg1.Cells[ACol, ARow]; //获得Cell的内容
if strCellText = '' then exit;
if IsNum(strCellText) then //判断是否是数字
begin
dblValue := strtofloat(strCellText);
dblValue := dblValue * 100; //由于是百分率,所以要乘上100
strCellText := format('%.2f', [dblValue]) + '%'; //格式化
asg1.Canvas.FillRect(Rect); //清空原显示
asg1.Canvas.TextOut(Rect.Left, Rect.Top, strCellText); //把文字画出来
end;
end;


事实上,有了这个事件,你可以显示任何你想显示的东西,甚至是图片,简直可以说是天马行空。
try__again 2008-12-31
  • 打赏
  • 举报
回复
帮助文档你的安装包里应该有吧
demo在tms的官网上有
www.tmssoftware.com

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧