2017-03-08 27 views
0

我在網上發現了很多解決方案,但它們不能正常工作,因爲StringGrid1.ColumnCount屬性是隻讀的。我正在使用Delphi 10西雅圖。在運行時添加stringgrid列

我有一個StringGrid1,我需要在運行時添加列。具體而言,我必須根據TList的大小添加列。特別是:

var a: TList<double>; 
begin 

//fill the TList... 

for i := 0 to a.Count - 1 do 
    begin 
    StringGrid1.AddColumn(); //how can I do this? 
    end; 

end; 

我覺得這是拉撒路很容易(但它當然有FPC),但德爾福我真的不知道該怎麼辦。我正在研究Firemonkey。

+0

「* StringGrid1.ColCount屬性是隻讀的*」 - 在FireMonkey中只有這樣。 'ColCount'屬性是在VCL中讀/寫的。另外,在FMX中,沒有'ColCount'屬性,它實際上被命名爲'ColumnCount'。下次請指出您正在使用的框架。 –

+0

很難知道你在說什麼 –

+0

我沒有很好地解釋這個問題,但我只需要在TStringGrid中添加一列(TStringColums)。 –

回答

7

使用網格的AddObject()InsertObject()方法來添加所需TColumn派生類的對象實例,像TStringColumn。該列對象將被添加到網格的Columns陣列中。 ColumnCount屬性只是返回數組中的列數,這就是爲什麼它是隻讀的。

+0

StringGrid1.AddObject(TStringColumn.Create(StringGrid1)); –

+0

此代碼正常工作,謝謝。 –