最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Winform中Treeview實現(xiàn)按需加載的方法

 更新時間:2014年10月16日 08:57:06   投稿:shichen2014  
這篇文章主要介紹了Winform中Treeview實現(xiàn)按需加載的方法,針對大數(shù)據(jù)量的情況下非常具有實用價值,需要的朋友可以參考下

本文實例講述了Winform中Treeview實現(xiàn)按需加載的方法,非常具有實用價值。分享給大家供大家參考。具體分析如下:

最近項目里用到treeview,原先設(shè)計的是一開始就把所有數(shù)據(jù)都加載到treeview里,后來發(fā)現(xiàn)客戶的數(shù)據(jù)量實在太大,加載所有數(shù)據(jù)要2分鐘,這個是客戶沒法接受的。后來就考慮到用戶也不是一開始就要看所有的數(shù)據(jù),用戶也是一層一層地展開,所以我們就考慮是不是可以實現(xiàn)以當(dāng)用戶展開某個結(jié)點時才加載當(dāng)前結(jié)點下面的數(shù)據(jù)。一番查找后,發(fā)現(xiàn)treeview有BeforeExpand事件可以實現(xiàn)我們的需求。

下面介紹具體的實現(xiàn)代碼:

1. 首先只加載各部門(結(jié)點)的信息

復(fù)制代碼 代碼如下:
List<string> m_Departments = new List<string>() { "湖北.黃石", "湖北.鄂州", "湖北.武漢" };
private void AddDepartMents(List<string> departments)
{
     if (m_Root == null)
     {
         var root = departments[0].Split('.')[0];
         m_Root = new TreeNode(root);
         m_Root.Tag = root;
         treeView1.Nodes.Add(m_Root);
     }
     foreach (var department in departments)
     {
         var parent = m_Root;
         var dts = department.Split('.');
         for (int i = 1; i < dts.Length; i++)
         {
             if (!m_OrgNodeManager.ContainsKey(dts[i]))
             {
                 var child = new TreeNode(dts[i],1,1);
                 child.Tag = dts[i];
                 child.ToolTipText = department;
                 m_OrgNodeManager.Add(dts[i], child);
                 parent.Nodes.Add(child);
                 parent = child;
             }
         }
         parent.Nodes.Add("");
     }
}

這里要注意,每個結(jié)點加完后,要加上一個空的子結(jié)點parent.Nodes.Add(""); 不然就沒有那個加號讓你點了。

2. 實現(xiàn)BeforeExpand事件

復(fù)制代碼 代碼如下:
private void treeView1_BeforeExpand(object sender, TreeViewCancelEventArgs e)
{
     TreeNode curentNode = e.Node;
     if (curentNode.ImageIndex == 1)
     {
         curentNode.Nodes.Clear();
         foreach (var user in m_UserManager)
         {
             if (user.Value.ToString() == curentNode.ToolTipText.ToString())
             {
                 TreeNode userNode = new TreeNode(user.Key);
                 curentNode.Nodes.Add(userNode);
             }
         }
     }
}

希望本文所述對大家的C#程序設(shè)計有所幫助。

相關(guān)文章

  • C# File類中的文件讀寫方法詳解

    C# File類中的文件讀寫方法詳解

    C#提供了多種操作文件的方案,尤其是File類中封裝的靜態(tài)方法,本文將通過一些簡單的示例為大家講講C#讀寫文件的方法,需要的可以參考一下
    2023-05-05
  • C#實現(xiàn)提高xml讀寫速度的方法

    C#實現(xiàn)提高xml讀寫速度的方法

    這篇文章主要介紹了C#實現(xiàn)提高xml讀寫速度的方法,并且針對各類文件的讀寫做了較為細致的分析,非常實用,需要的朋友可以參考下
    2014-11-11
  • C#異步原理詳情

    C#異步原理詳情

    這篇文章主要介紹了C#異步原理,C#異步在C#5便發(fā)布了,是利用async關(guān)鍵字和await表達式表達的異步操作,下面文章下邊將詳細向大家介紹C#異步原理,感興趣得小伙伴可以參考一下
    2021-10-10
  • c#語言入門類型和成員

    c#語言入門類型和成員

    這篇文章主要介紹了c#語言入門類型和成員,類 是最基本的 C# 類型。 類是一種數(shù)據(jù)結(jié)構(gòu),可在一個單元中就將狀態(tài)和操作結(jié)合起來。 類為類實例提供了定義。類支持繼承和多形性,即派生類 以擴展和專門針對基類的機制,下面來看看文章的詳細介紹
    2021-12-12
  • C#利用ms office實現(xiàn)office轉(zhuǎn)pdf的示例代碼

    C#利用ms office實現(xiàn)office轉(zhuǎn)pdf的示例代碼

    這篇文章主要介紹了C#利用ms office實現(xiàn)office轉(zhuǎn)pdf的詳細方法,文中通過代碼示例和圖文講解的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-09-09
  • C#使用DirectX.DirectSound播放語音

    C#使用DirectX.DirectSound播放語音

    這篇文章主要為大家詳細介紹了C#使用DirectX.DirectSound播放語音,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 講解.NET環(huán)境下繪制模糊數(shù)學(xué)中隸屬函數(shù)分布圖

    講解.NET環(huán)境下繪制模糊數(shù)學(xué)中隸屬函數(shù)分布圖

    講解.NET環(huán)境下繪制模糊數(shù)學(xué)中隸屬函數(shù)分布圖...
    2007-11-11
  • C#對桌面應(yīng)用程序自定義鼠標光標

    C#對桌面應(yīng)用程序自定義鼠標光標

    這篇文章介紹了C#對桌面應(yīng)用程序自定義鼠標光標的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • C#處理Paint事件的方法

    C#處理Paint事件的方法

    這篇文章主要介紹了C#處理Paint事件的方法,實例分析了C#使用Paint進行圖形繪制的技巧,需要的朋友可以參考下
    2015-06-06
  • C#中IsNullOrEmpty和IsNullOrWhiteSpace的使用方法及區(qū)別解析

    C#中IsNullOrEmpty和IsNullOrWhiteSpace的使用方法及區(qū)別解析

    今天我們將探討C#中兩個常用的字符串處理方法:IsNullOrEmpty和IsNullOrWhiteSpace,本文中,我們將詳細解釋這兩個方法的功能和使用場景,并幫助您更好地理解它們之間的區(qū)別,本文結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2023-07-07

最新評論

塔河县| 正阳县| 行唐县| 承德县| 西乡县| 花莲县| 黄大仙区| 察雅县| 鹿邑县| 千阳县| 南充市| 永平县| 新田县| 常德市| 遂溪县| 静宁县| 应城市| 霞浦县| 通化市| 榆树市| 林西县| 鄯善县| 凤冈县| 马山县| 龙岩市| 黑河市| 双流县| 肇州县| 姚安县| 三河市| 黄梅县| 勐海县| 英吉沙县| 江陵县| 西安市| 鹤峰县| 广南县| 竹北市| 玛多县| 临漳县| 扎囊县|