微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Delphi控件cxGrid 如何动态创建列?

方法一:

var i: Integer;   
  Column: TcxGridDBColumn;   
  cxview: TcxGridDBTableView;     
begin   
  cxview := Self.Levels[0].GridView as TcxGridDBTableView;   
  if cxview.DataController.DataSource <> nil then   
    if cxview.DataController.DataSource.DataSet <> nil then   
    begin   
      cxview.ClearItems;   
      for i:=0 to  cxview.DataController.DataSource.DataSet.FieldCount-1 do    
        begin   
         Column := cxview.CreateColumn;   
         Column.DataBinding.FieldName := cxview.DataController.DataSource.DataSet.Fields[i].FieldName;   
         Column.PropertiesClass := TcxTextEditProperties;   
      end;   
    end;   
end;  

方法二、

for i := 0 to Query.FieldCount - 1 do   
begin   
  cxGrid.CreateColumn;   
  cxGrid.columns[i].DataBinding.FieldName := Query.Fields[i].displayName;   
  cxGrid.Columns[i].Caption := XXXX;   
  cxGrid.Columns[i].Width   :=80;   
end;

方法三、

procedure TFrmRuleEdit.CreateCols;
var
Column: TcxGridDBColumn;
begin
cdsPowerPrj.First;
while not cdsPowerPrj.Eof do
begin
Column := viewPower.CreateColumn;
Column.Caption := cdsPowerPrj.FieldByName(description).Text;
Column.DataBinding.FieldName := cdsPowerPrj.FieldByName(powerName).Text;
Column.PropertiesClassName := TcxCheckBoxProperties;
Column.Width := 50;
cdsPowerPrj.Next;
end;
end;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐