Я использую Lazarus 0.9.30.2. У меня есть стандартный TForm со стандартным TStringGrid на нем. Строковая сетка не имеет столбцов или строк во время разработки. В Инспекторе объектов установлены следующие значения.Как избежать фиксированного столбца при динамическом добавлении столбцов в TStringGrid во время выполнения?
ColCount = 0
Columns = 0
FixedCols = 0
FixedRows = 0
RowCount = 0
Я хочу добавить несколько TGridColumns во время выполнения, и был в состоянии сделать это, но всегда получают фиксированный столбец, который я не хочу. Для этого я написал код, очень похожий на образец ниже. Когда я компилирую и запускаю его, я получаю следующее.
Как получить кожуру фиксированной колонки во время выполнения и просто оставить остальные столбцы?
unit test;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Grids;
type
TForm1 = class(TForm)
SgGrid: TStringGrid;
procedure FormCreate(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
procedure TForm1.FormCreate(Sender: TObject);
var
GridColumn : TGridColumn;
anIndex : integer;
begin
for anIndex := 0 to 5 do
begin
GridColumn := SgGrid.Columns.Add;
GridColumn.Width := 50;
GridColumn.Title.Caption := 'Col ' + inttostr(anIndex);
end; {for}
end;
end.
Привет @TLama .... Я немного поиграл с ним после публикации и подтвердил все, что вы указали в своем комментарии. Во время выполнения по умолчанию добавляется фиксированный столбец. Если у меня есть anykind столбца, добавленного в сетку во время разработки, то фиксированный столбец не добавляется. То, что я закончил, заключалось в том, чтобы динамически добавлять все мои столбцы, а затем в конце установить параметр «FixedCol: = 0», – user1174918