请问有谁知道如何在程序中动态增加DBGRID 的列(100分)

  • 主题发起人 主题发起人 大大懒虫
  • 开始时间 开始时间

大大懒虫

Unregistered / Unconfirmed
GUEST, unregistred user!
dbgrid 中如果关联的表有多条记录,但我只需要其中的几条,并因条件不同显示不同,
并且列数也不同。所以我要在程序中动态生成。我请问各位大虾如何建立一个columns
 
你可以把columns的visibale设成false,要的时侯再设为true 。
 
var col:TColumn;
begin
col:=DBGrid1.Columns.Add;
col.fieldname:='field1';
end;
 
DBGrid1.Columns.Add;
DBGrid1.Columns[DBGrid1.Columns.Count-1].FieldName:='YourFieldName';
DBGrid1.Columns[DBGrid1.Columns.Count-1].Title.Caption:='YourNewTitle';
 
用Add添加要显示的列,用delete删除不要的列就行了。
 
hj5000的方法是我经常用的。
挺有效的你也不防一用。
 
可以根据你的数据集来决定的.
 
Table2.TableName:=aaaa;
Table2.Active:=true;
DBGrid1.Columns.Clear;
DBGrid1.Columns.Add.FieldName:='aa1';
DBGrid1.Columns.Items[0].Title.Caption:='编 号';
DBGrid1.Columns.Items[0].Title.Alignment:=taCenter;
DBGrid1.Columns.Items[0].ReadOnly:=false;
DBGrid1.Columns.Add.FieldName:='aa2';
DBGrid1.Columns.Items[1].Title.Caption:='姓 名';
DBGrid1.Columns.Items[1].Title.Alignment:=taCenter;
DBGrid1.Columns.Items[1].ReadOnly:=false;
 
谢谢,各位的帮助。不好意思,只能给你们这么一点分。
 
后退
顶部