我动态创建了一个cxgrid,包括层和cxGridBandedTableView,程序运行的时候都OK,但是在程序退出的时候会报错,整个测试程序只有在一个按钮里有写代码,就是创建cxgrid的那个,后来发现,GridLevel.GridView := cxBTbl;如果这句注释掉的话,退出不会报错,这个是关联层和View的,但是注释掉的话就显示不出表格了,就变成灰色的一片,但是如果加上去的话,退出的时候会报错,有没有哪位大大能给个OK的动态创建cxgrid的代码,要求是要有cxGridLevel和cxGridBandedTableView,不要就创建一个cxgrid,这个我也会,demo请发至[email protected]这个邮箱,测试OK后给分

解决方案 »

  1.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
      cxDataStorage, cxEdit, DB, cxDBData, cxControls, cxGridCustomView,
      cxGridCustomTableView, cxGridTableView, cxGridBandedTableView,cxGridDBTableView,
      cxGridDBBandedTableView, cxClasses, cxGridLevel, cxGrid, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
           tvTemp:TcxGridDBBandedTableView;
           lTemp:TcxGridLevel;
           gdTemp: TcxGrid;
           someowner:TcxGridDBBandedColumn;
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);begin
      gdTemp:=TcxGrid.Create(Self);
      lTemp:=gdTemp.Levels.Add;
      tvTemp:=TcxGridDBBandedTableView(gdTemp.CreateView(TcxGridDBBandedTableView));
      lTemp.Control:=gdTemp;
      lTemp.GridView:=tvTemp;
      gdTemp.ParentWindow:=self.Handle;
      tvTemp.Preview.Visible:=true;
    end;end.