將ListView的Chekbox狀態應用到子結點

來源:互聯網
上載者:User
前段時間論壇的一個文章http://topic.csdn.net/u/20080706/10/24331390-5522-400d-a557-8d719869af68.html,問怎樣將TreeView的Chekbox狀態應用到子結點,我錯看成ListView給答了。當然ListView也可以實現層級遞進的樹形結構,雖然只是外觀上的,不能實現摺疊開啟的效果,但將Chekbox狀態應用到子結點卻是能很好的實現的。就像下面的圖片所展示的效果:

實現法也很簡單:
  1. //將Item自身的Checked狀態應用到下級子項目
  2. procedure CheckSubItems(Item: TListItem);
  3. var
  4.     i: Integer;
  5. begin
  6.     for i := Item.Index+1 to ListView1.Items.Count-1 do
  7.         if Integer(ListView1.Items[i].Data) > integer(Item.Data) then
  8.             ListView1.Items[i].Checked := Item.Checked
  9.         else
  10.             Break;
  11. end;

上面代碼中的ListView1.Items[].Data可看作是儲存著層級資訊(實際上我把用它作其他用途),需要的地方調用

CheckSubItems函數就可以將TListItem的Chekbox狀態應用到子結點。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.