Dbgrid问题(100分)

  • 主题发起人 darkblood
  • 开始时间
D

darkblood

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在程序运行过程中,增加dbgrid的columns,动态给dbgrid.columns.fieldname赋值
但是,dbgrid默认只有columns[0],也就是只有一条,应该怎么增加,我用dbgrid.columns.add
对吗?但是程序运行抱错,我跟踪了,columns没有增加,应该怎样实现
 
好象你走了一条弯路,你如果是动态列的话就不用管dbGrid了。在与Grid相关的查询中
改变字段数量,然后重新打开查询就可以了。至于查询的标题可以通过As 来实现的。
 
没有DataSource
 
上面应该可以,dbgrid.columns.add返回 的是新的 TColumn


在相应的数据集中添加
 
那推荐你用STRINGGRID
 
我的一段代码
for i:=0 to 1 do
begin
tempgrid.Columns.add;
tempgrid.Columns.Title.Alignment:=taCenter;
end;
tempgrid.Columns[0].FieldName:='kmmc';
tempgrid.Columns[0].Title.CAPTION:='科目' ;
tempgrid.Columns[0].Width:=200;
tempgrid.Columns[0].Alignment:=taleftJustify;
tempgrid.Columns[1].FieldName:='hj';
tempgrid.Columns[1].Title.CAPTION:='合计';
tempgrid.Columns[1].Alignment:=tarightJustify;
tempgrid.Columns[1].Width :=120;
 
这是我的代码
for i:=0 to Table1.FieldCount-1 do
begin
Dbgrid1.Columns.FieldName:=Table1.Fields.FieldName;
Dbgrid1.Columns.Add;
end;
但是,我跟踪程序发现,dbgrid.columns.add执行后,dbgrid.count没有增加,还是1
 
for i:=0 to Table1.FieldCount-1 do
begin
Dbgrid1.Columns.Add;
Dbgrid1.Columns.FieldName:=Table1.Fields.FieldName;
end;
这样试了吗
 
试了,也不行
 
可以了,谢谢,但是我很奇怪为什么呢
 
接受答案了.
 
顶部