使用DBGrid是否可以自行增加一列? 你用adoquery1.RecNo不就可以了吗,为什么要加行号。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 添加计算字段id ADOQuery1.FieldByName('id').AsInteger:= DBGrid1.DataSource.DataSet.RecNo;不过中间可能出现 -1的现象疑问中? 新增一个字段,对它赋空值,然后在dbgrid的重绘事件中自己根据dateset.recno对此字段赋值, 我的理解是不是让我对数据库进行修改?但是现在改库对我来说不是很现实的事情,一改的话要改的地方就太多了,我想问在dbgrid上动手脚有可能吗? 可以在TADOQuery的sql第一列加入identity字段啊 蹈火者,能不能详细说一下怎么做,或者SQL语句怎么写,我鲁钝了,不好意思。 我是这样加的,用两个TABLE控件,一个有过滤,另一个全部,当添加时,把全部这个控件的数量加1不就可以了 晕,看不懂,而且我希望是在DBGrid上作ADOQuery,因为涉及到多表联查的问题,Table不能满足要求。 在ADOQuery1控件鼠标右击,在fields editer中 添加 all fields这时你的ADOQuery的所有字段都显示出来了这是在添加new field例如:number字段然后在ADOQuery1控件的onCalcFields事件中加入你的代码使new的值满足你的要求 DataModule1.ADOQuery1.Fieldsbyname[number].value:=DataModule1.ADOQuery1.recno;这时你要运行程序,你的number字段已经自动添加到了DBGrid中的最后一列。如果希望number在第一列,可以更改dbgrid中number的顺序为第一位,也可以回头在上面的fields editer中,将number的顺序改为第一位。 多谢,我早上没有注意到新添加的字段类型为Calculated,我做成Data了,无论如何都不成功,多谢多谢,还有一个问题,第一个为什么是-1? 添加计算字段id ADOQuery1.FieldByName('id').AsInteger:= DBGrid1.DataSource.DataSet.RecNo;不过中间可能出现 -1的现象疑问中?试试下面这个:ADOQuery1.FieldByName('id').AsInteger:= ABS(DBGrid1.DataSource.DataSet.RecNo); 调用存储过程时出现的问题 Dear All:请问怎么样在FastReport中实现如下报表? 存储过程怎么传参数? 不解,请问这个DLL调用代码那有错啊!急 武汉的兄弟散分了! 在delphi中button中如何实现文本换行? 如何知道声卡已被占用? 还是关于accept的问题 请问高手怎样用控件发送一个含有附件的信,谢谢! 50分送上,关于CHART控件!快来吧 请问这个有关字符串替换的问题该怎么较好的解决(急啊)? DLL 问题,进来看看
ADOQuery1.FieldByName('id').AsInteger:= DBGrid1.DataSource.DataSet.RecNo;
不过中间可能出现 -1的现象
疑问中?
这时你的ADOQuery的所有字段都显示出来了
这是在添加new field
例如:number字段
然后在ADOQuery1控件的onCalcFields事件中加入你的代码
使new的值满足你的要求
DataModule1.ADOQuery1.Fieldsbyname[number].value:=DataModule1.ADOQuery1.recno;这时你要运行程序,你的number字段已经自动添加到了DBGrid中的最后一列。
如果希望number在第一列,可以更改dbgrid中number的顺序为第一位,也可以回头在上面的fields editer中,将number的顺序改为第一位。
ADOQuery1.FieldByName('id').AsInteger:= DBGrid1.DataSource.DataSet.RecNo;
不过中间可能出现 -1的现象
疑问中?
试试下面这个:
ADOQuery1.FieldByName('id').AsInteger:= ABS(DBGrid1.DataSource.DataSet.RecNo);