设置行高时报错 grid out of index

amtywyz 2011-04-06 05:46:07
使用控件:ehlib 5.2
在使用代码
TStringGrid(DBGridEh1).RowHeights[1] = 50
时,一直报错
确定原表内有数据行10条。
使用dbgrideh,adoquery,关联无误。
以上错误有人能帮我下么?
...全文
141 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
taste品味 2011-04-08
  • 打赏
  • 举报
回复
行高这些应该是初始化做的吧
弘石 2011-04-08
  • 打赏
  • 举报
回复
又看了看,发现TDBGridEh确实没有发布那个属性
你改一下源码,直接把那个属性发布为public就可以了
弘石 2011-04-08
  • 打赏
  • 举报
回复
那个控件不是继承自StringGrid,你那样强制类型转换会有问题的
看到那个控件不是有一个RowHeights的属性吗?
kye_jufei 2011-04-07
  • 打赏
  • 举报
回复
設置行高找找看有沒有類似DataRowHeight這樣的屬性。。。
kye_jufei 2011-04-07
  • 打赏
  • 举报
回复
如果是自定義行高,可以使用 RowHeight 和 RowLines 属性来指定数据行高。。。
kye_jufei 2011-04-07
  • 打赏
  • 举报
回复
DBGridEH 所有列宽自动适应的实现
interface
THackDBGridEH = class(TCustomdbgrideh)
end;

procedure OptimizeGrid(AGrid: TCustomDbGridEh);

implementation
procedure OptimizeGrid(AGrid: TCustomDbGridEh);
var
i: integer;
begin
// 優化GRID的寬度
for i := 0 to TDBGridEh(AGrid).Columns.count - 1 do
THackDBGridEH(AGrid).OptimizeSelectedColsWidth(TDBGridEh(AGrid).Columns[i]);
end;
amtywyz 2011-04-07
  • 打赏
  • 举报
回复
不知道是不是控件问题,以前用ehlib 3.6的时候是可以使用的,换了5.2后就报错了。
但是5.2的标题栏删选都是我现在需要的,表内树状结构也是我现在需要的,所以不想换回旧版本了。
求高手解决问题,加分
amtywyz 2011-04-07
  • 打赏
  • 举报
回复
to 4 楼:我要设置行高,不是列宽
to 5 楼:就是在设置的时候提示越界
to 6 楼:下面设置为0的话,会提示内存读取错误。
弘石 2011-04-07
  • 打赏
  • 举报
回复
看看是不是真的越界了,下标从0开始还是从1开始
amtywyz 2011-04-06
  • 打赏
  • 举报
回复
已经打开了,设置行高的代码段是在cellclick 里的

我的目的是,在点中某列时,行高变化,离开此列,行高变回来

二楼的错误是我贴代码的时候手误。。。

请求帮助
弘石 2011-04-06
  • 打赏
  • 举报
回复
是不是还没有加载数据就设置行高了?
luo000102 2011-04-06
  • 打赏
  • 举报
回复
TStringGrid(DBGridEh1).RowHeights[1] := 50
delphi 的赋值符号是':='而不是'='

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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