dbgrideh根据数据库显示表头

xuxugr 2008-11-22 08:40:27


----
begin
while not Eof do
begin
if FieldByName('xsbz').Value:=true then --数据库中表示可以显示该列
begin
dbgrideh1.Columns.Add(FieldByName('zdlm').Value);--该表示为数据库中如果可以显示则add数据字段名,这句话错在哪



这是根据数据库中对应的表自动添加表头和显示表头的代码,哪错了
...全文
136 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
eqapple 2008-11-24
  • 打赏
  • 举报
回复

var
iCount:integer; //字段数量
begin
DBGrid1.Columns.Add;
iCount:=DBGrid1.Columns.Count;
DBGrid1.Columns[iCount-1].FieldName:='zdlm';
END;
xuxugr 2008-11-23
  • 打赏
  • 举报
回复
for i:=0 to ADOSetTmp.RecordCount-1 do
begin
DBGridEh1.Columns.Add;
DBGridEh1.Columns[i+1].FieldName:=FieldByName('zdlm').Value;
end;

这里的FieldByName('zdlm').Value;怎样和i关联起来就可以解决了
xuxugr 2008-11-23
  • 打赏
  • 举报
回复
function TFrm_xsdd.show_init:boolean;
var ADOSetTmp: TADODataSet;
begin
ADOSetTmp := nil;
ADOSetTmp := TADODataSet.Create(ADOSetTmp);
ADOSetTmp.CommandText := 'select * from TBA_SZ where mc=''Frm_xsdd'' order by id';
ADOSetTmp.Connection := Data1.ADOConnection1;
ADOSetTmp.Open;
with ADOSetTmp do
begin
while not Eof do
begin
if FieldByName('xsbz').Value then
begin
DBGridEh1.Columns.Add; 前面是完整的代码,并且可以正常执行,问题出在这句
长沙三毛 2008-11-22
  • 打赏
  • 举报
回复
1)缺少ADOQuery等数据集对象,使用了 with 语句?
2)应该是 if FieldByName('xsbz').AsBoolean = true then
3)dbgrideh1.Columns.Add()函数没有参数

xuxugr 2008-11-22
  • 打赏
  • 举报
回复
提示[Error] U_xsdd.pas(397): Too many actual parameters

2,497

社区成员

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

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