我有一个名为cxOptimumView的TcxGridBandedTableView。我试图增加动力。我创建了如下列

AColumn := cxOptimumView.CreateColumn;
AColumn.Caption := 'Combo';
AColumn.PropertiesClass := TcxComboBoxProperties;
TcxComboBoxProperties(AColumn.Properties).Items.Add('Item1');
TcxComboBoxProperties(AColumn.Properties).Items.Add('Item2');
TcxComboBoxProperties(AColumn.Properties).Items.Add('Item3');


添加一列吗?我试图在德尔福做到这一点。我该怎么做呢?

最佳答案

您需要将新列放置在带内。

以下代码创建一个新的带区,创建一个新列,然后将该列放入该带区中(您可以使用现有的带区而不是创建一个新的带区):

var
  AColumn : TcxGridBandedColumn;
  ABand : TcxGridBand;
begin
  cxOptimumView.BeginUpdate();
  try
    //adding band
    ABand := cxOptimumView.Bands.Add;
    //adding column
    AColumn := cxOptimumView.CreateColumn;
    AColumn.Caption := 'Combo';
    AColumn.PropertiesClass := TcxComboBoxProperties;
    TcxComboBoxProperties(AColumn.Properties).Items.Add('Item1');
    TcxComboBoxProperties(AColumn.Properties).Items.Add('Item2');
    TcxComboBoxProperties(AColumn.Properties).Items.Add('Item3');
    //adding column to the band
    AColumn.Position.BandIndex := ABand.Index;
  finally
    cxOptimumView.EndUpdate();
  end;

10-08 05:06