我想实现在cxgrid中设置某一列为button按钮
并且设置butto的click事件
要动态添加,也就是用代码添加,控件添加的方法我知道
但是代码怎么加,还不清楚,求个人帮帮忙

解决方案 »

  1.   


    ......
      private
        { Private declarations }
        procedure cxGrid1DBTableView1ColumnPropertiesButtonClick(
          Sender: TObject; AButtonIndex: Integer);
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}
    procedure TForm1.cxGrid1DBTableView1ColumnPropertiesButtonClick(
      Sender: TObject; AButtonIndex: Integer);
    begin
    //.......
    end;procedure TForm1.cxButton1Click(Sender: TObject);
    begin
      //设置第3列为按钮属性:
      cxGrid1DBTableView1.Columns[3].PropertiesClass:=TcxButtonEditProperties;
      //关联点击事件:
      (cxGrid1DBTableView1.Columns[3].Properties as TcxButtonEditProperties).OnButtonClick
        :=cxGrid1DBTableView1ColumnPropertiesButtonClick;
    end;
    ......
      

  2.   

    嗯,确实可以,已经解决问题了
    我能追加个问题问问么
    能不能把button这一列变为只读,并且能相应button列的点击事件
      

  3.   

    为什么不能追加呢?  (cxGrid1DBTableView1.Columns[3].Properties as TcxButtonEditProperties).ReadOnly:=true;
    这样就只读了。如果你仅想显示一个按钮,你还可以让按钮的Kind属性设置为bkText,这样一来,就可以使得按钮可以有个Caption,而不是三个点了