TcxGrid

一、列的宽度为64时,其宽度会自动根据字段的长度调整,设置其他值即为固定值;

二、cell中显示按钮:选中某列,在properties中更改为ButtonEdit,点击子属性buttons添加button项,更改options里面的属性showeditbuttons为isebAlways,同事Options里的editing属性为true点击才起作用。并且cxgriddbtableview的optiondata的editing属性改为true

三、去掉cxgrid中抬头的分组box ,在tableview1的ptionsview的groupbybox=false

四、处理cxgrid的button根据当前行的某个字段的值而显示不同的形态:

  1、在button列的GetProperties事件中处理如下:  

procedure Tfrm_BarCode_makecl3.gdtv_1select_TicketGetProperties(
  Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
  var AProperties: TcxCustomEditProperties);
begin
    if ARecord.Values[gdtv_1.GetColumnByFieldName('isidcardfill').Index] = '1' then
    begin
      AProperties := cxEditRepository1ButtonItem1.Properties;
    end
    else
    begin
       AProperties := cxEditRepository1ButtonItem2.Properties;
    end;
end;

其中, cxEditRepository1ButtonItem1和cxEditRepository1ButtonItem2是控件kongcxEditRepository添加两个ButtonEdit后的Item,并且这两个Item都设置自身的Buttons。控件kongcxEditRepository双击即可进行编辑。在上述代码中,会根据条件语句对每行的button重新复制为cxEditRepository1ButtonItem1和cxEditRepository1ButtonItem2中设置的button。

 五、非绑定数据增加行:

  

acount:=cxgrd1TableView1.DataController.RecordCount; 
    cxgrd1TableView1.DataController.AppendRecord; 
    cxgrd1TableView1.DataController.Values[acount,   0]   :=IntToStr(i*1); 
    cxgrd1TableView1.DataController.Post();

 六、删除某行(非绑定数据增加):

cxGridTableView1.DataController.DeleteRecord(cxGridTableView1.DataController.FocusedRecordIndex);

七、删除所有行(非绑定数据增加【append】):

cxGridTableView1.DataController.RecordCount := 0;

八、定位到某行(非绑定数据增加【append】):

cxGridTableView1.DataController.FocusedRecordIndex := 3;//定位到第三行

九、加序号

在Cxgrid中有OnGetDisplayText()事件,这个时间可以完成在Cxgrid表格中加一列序号,这列序号不会根据排序改变而改变

procedure TForm1.cxGrid1DBTableView1Column1GetDisplayText(
      Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
  var AText: string);
begin
atext:=inttostr(arecord.Index);
end;

在Cxgrid中有OnGetDataText()事件,这个时间可以完成在Cxgrid表格中加一列序号,这列序号会根据排序改变而改变。

procedure TForm1.cxGrid1DBTableView1Column1GetDataText(
  Sender: TcxCustomGridTableItem; ARecordIndex: Integer; var AText: string);
begin
atext:=inttostr(arecord.Index);
end;

 显示统计行:1、tableview的optionview的footer打勾;2、某列的summary的footerkind为true。

原文地址:https://www.cnblogs.com/qi123/p/4702006.html