起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 205|回复: 9

【搞定】关于CLRModel.bpl 的报错**

[复制链接]
发表于 2007-11-17 09:22:01 | 显示全部楼层 |阅读模式
运行功能报了下面这样的错误, 代码光标停留在下面这句:

datagrid1.ColumnByName('xh').Caption:='序号';  

这句的代码没问题的呀

请问是怎么回事呢?

运行错误.gif

305.21 KB, 下载次数: 147

回复

使用道具 举报

发表于 2007-11-17 09:55:03 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-17 10:06:18 | 显示全部楼层
代码没什么问题呀,   请问那个报错是什么原因呢?
回复 支持 反对

使用道具 举报

发表于 2007-11-17 11:19:28 | 显示全部楼层
用2楼连接的10楼,用Columns,不是ColumnByName('xh')
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-21 14:47:15 | 显示全部楼层
为什么用ColumnByName() 就不行呢 ?

用Columns 不方便, 因为我现在用的Datagrid 它所显示的列数是可以变动的, 所以不好计算, 但用列名就方便的.
回复 支持 反对

使用道具 举报

发表于 2007-11-21 15:10:17 | 显示全部楼层
用ColumnByName必须是datagrid里面显式设置好的。自动生成的列会找不到。
而且名字也不是xh,可能是datagridxh,您可以用columns在运行时看一下他自动生成的名字是什么

for i:=1 to DataGrid1.ColumnCount-1 do  
  begin
        strColumnName := DataGrid1.Columns.Caption;
          if strColumnName = '基数' then
            DataGrid1.Columns.Caption := '系数';
          if strColumnName = '参保日期' then
            DataGrid1.Columns.Visible := False;
        end;
回复 支持 反对

使用道具 举报

发表于 2007-11-21 15:18:59 | 显示全部楼层
那直接修改数据集的显示名称就可以了,参考

http://bbs.justep.com/forum.php?mod=viewthread&tid=4312
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-23 09:38:12 | 显示全部楼层
for i:=0 to DataGrid1.ColumnCount-1 do
    begin
        strColumnName := DataGrid1.Columns.Name;
        jsdialogs.ShowMsg(strColumnName,'名称');
    end;
根据从这里看到的名称是: datagridxh,

但我这样用的时候还是会出现一楼的错误:

datagrid1.ColumnByName('datagridxh').colindex:=0;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-23 10:38:09 | 显示全部楼层
应该是这个就对了 :
   datagrid1.ColumnByName('datagridcolumnxh').colindex:=0;

结贴吧!
回复 支持 反对

使用道具 举报

发表于 2007-11-23 10:44:52 | 显示全部楼层
谢谢tfb楼主分享经验。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-1 01:00 , Processed in 0.051923 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表