全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:839
推到 Plurk!
推到 Facebook!

再次請教 treeview 排序問題

答題得分者是:Zard
760729
一般會員


發表:32
回覆:51
積分:16
註冊:2004-09-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-19 13:46:31 IP:61.61.xxx.xxx 未訂閱
各位前輩: 我現下有一棵在程式執行中會一直成長的 treeview, 而我的需求, 是想將有 child 的 node 集中在 tree 的上層並做 sort, 而沒有 child 的 node 即 leaf 擺在有 child 的 node 的下方(即每一root 或 分支 root 分成上層有 child 的 node 及下層沒 child 的 node ), 不知是否有此實例?
Zard
尊榮會員


發表:24
回覆:396
積分:539
註冊:2003-11-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-19 15:17:58 IP:210.243.xxx.xxx 未訂閱
Sort前 --------------------------------------------- Sort後 --------------------------------------------- 細節部份在自行調整.
//---------------------------------------------------------------------------    #include 
#pragma hdrstop    #include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
  : TForm(Owner)
{
}
//---------------------------------------------------------------------------    void __fastcall TForm1::TreeView1Compare(TObject *Sender, TTreeNode *Node1,
      TTreeNode *Node2, int Data, int &Compare)
{
  if ((Node1->HasChildren && Node2->HasChildren) ||
      (!Node1->HasChildren && !Node2->HasChildren))
  {
    // 當兩個Node均有Child或均無Child, 則以兩者的文字比較
    Compare = strcmp(Node1->Text.c_str(), Node2->Text.c_str());
  }
  else if ((Node1->HasChildren) && (!Node2->HasChildren))
  {
    // 當Node1有Child, Node2沒有Child, 則把Node2放後面
    Compare = -1;
  }
  else if ((!Node1->HasChildren) && (Node2->HasChildren))
  {
    // 當Node1沒有Child, Node2有Child, 則把Node1放後面
    Compare = 1;
  }
}
//---------------------------------------------------------------------------    void __fastcall TForm1::Button1Click(TObject *Sender)
{
  TreeView1->AlphaSort();
}
//---------------------------------------------------------------------------
系統時間:2024-05-05 1:53:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!