2011-06-23 44 views
3

首先這是可能的嗎?德爾福2010年:在vsReport ViewStyle Group TListView項目

我有兩個問題 - 首先是我無法在運行時創建組時出現在TListView中。我使用下面的代碼:

lg := lvResults.Groups.Add; 
lg.Header := 'New Starters'; 
lg.GroupID := 0; 

第二個是,即使我在設計時創建組 - 我可以看到他們在窗體設計器 - 它們在運行時不存在 - 甚至在我刷新數據添加我自己的物品...

附加: 我已經確認下面的答案處理一個處女項目的答案。然而它在我想要使用它的項目中失敗!我已經用調色板中的新調色板取代了我的TListView,並且沒有喜悅。列表視圖位於tpagecontrol上

+1

解決方案是該項目禁用了「啓用運行時主題」 - 沒有這些組顯然不工作 –

+0

是有道理的。將它們反向移植到Windows Classic將會很愚蠢。 –

回答

6

下面的代碼產生可見組。您是否忘記將GroupView設置爲True

procedure TMyForm.FormCreate(Sender: TObject); 
var 
    Group: TListGroup; 
    Item: TListItem; 
    s1, s2: string; 
begin 
    ListView1.ViewStyle := vsReport; 
    ListView1.GroupView := True; 
    ListView1.Columns.Add.Caption := 'My column'; 
    Group := ListView1.Groups.Add; 
    Group.Header := 'My header'; 
    Group.GroupID := 0; 
    Item := ListView1.Items.Add; 
    Item.GroupID := 0; 
    Item.Caption := 'My item'; 

有一個在一個Delphi documentation代碼示例。

+0

出於興趣:你是否也嘗試過使用vsReport?這就是問題的標題(在問題中重複它會更聰明)... –

+0

@Marjan沒有發現這一點謝謝。現在回答更新以覆蓋該角度。 –

+1

謝謝,但不適合我。我已經從設計的列表視圖中刪除了所有的列,項目等,用上面的代碼替換了代碼,評論我的所有內容,我得到的是「我的列」和「我的項目」 –