如何动态创建DBGrid的Column(100分)

  • 主题发起人 主题发起人 Ice_Bird
  • 开始时间 开始时间
I

Ice_Bird

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大家好请教大家一个问题
怎么样动态生成DBGrid的Column 用ADD还是Create
怎么用
 
用Create,先声明一个TColumn类的临时变量,然后Create一个TColumn类的实例,然后付给DBGrid就可以了。
 
with DBGrid1.Columns.Add do
begin
Title.Caption := 'New Column';
FieldName := 'youfield';
end;
 
无法保存数据: 4。

如果只是单纯创建TColumn,如楼上就可以了,如果要创建自定义的Column(比如,你要再Column中添加自己的属性,于是自定义了TMyColumn类),那么就先做下面的代码,然后再执行上面的代码:
先派生你的TDbGrid,然后覆盖方法: CreateColumns,

然后:
function TCustomDBGrid.CreateColumns: TDBGridColumns;
begin
Result := TDBGridColumns.Create(Self, TMyColumn); /// 关注这里!
end;
 
呵呵 感谢大家的答案 我发帖的五分钟之后就自己解决了 [:(] 我的100分啊 不过不要紧
我还是会赚回来

我的程序是要在DataModule里面的SimpleDataSet里面的AfterPost事件里面自动生成
我解决了 看下我的做法是否正确吧
在uses里面添加 DBGrids类
定义列类型的字段如 Column_Name :TColumn
最后就可以用DBGrid里面的ADD函数定义新的了
 
多人接受答案了。
 

Similar threads

后退
顶部