cxGrid设置列为按钮并设置按钮事件

因为业务需要展示,在每行的数据最后一列显示一个按钮,点击按钮删除对应的数据。使用cxGrid能完美实现。
1、设置按钮列的properties是buttonedit


2、设置properties下的属性 viewStyle=vsButtonsAutoWidth


3、设置Options中的 ShowEditButtons=isebAlways


4、点击properties下的buttons按钮,弹出:
 
到此界面设置结束,现在我们为这个按钮添加一个点击事件:
  1.  
    //按钮事件:
  2.  
    procedure colButtonPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);

    1.  
      //关联点击事件:
    2.  
      (dbcolAdd.Properties as TcxButtonEditProperties).OnButtonClick
    3.  
      := colButtonPropertiesButtonClick;
       
      示例:
      ......
        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;
      ......
posted @ 2020-12-23 18:30  Bill-Lee  阅读(572)  评论(0编辑  收藏  举报