.NET 3.5 樹型控制項 John.WebControls.Tree for .NET 3.5 RTM

來源:互聯網
上載者:User

.NET 3.5環境下的樹型控制項for web form。

John.WebControls.Tree for .NET 3.5 RTM (←點擊下載)


該控制項繼承WebControl的TreeView,這個只是為了方便我們平時的小型開發而已(針對無限級的樹,單表ID和PID),資料量大於2萬的時候會比較卡。

HTML:

<johncontrols:treeview id="TreeView1" runat="server" navigateurlformat="page1.aspx?id={0},page2.aspx?xxx={0}&amp;dsss={1},page3.aspx" navigateurlkey="ID,Text" rootparentid="0"></johncontrols:treeview>

Code:

string connString = @"Data Source=./SQLEXPRESS;AttachDbFilename=F:/JohnV3.0/wwwroot/Test/App_Data/BaseSystem.mdf;Integrated Security=True;User Instance=True";
DataSet ds = John.Commons.Utility.DbMSSQLUtility.ExecuteDataSet(connString, "SELECT * FROM t_baseMultiCode");
this.TreeView1.DataSource = ds;
this.TreeView1.DataBind();

至於上面代碼中的John.Commons.Utility.DbMSSQLUtility我發布過,大家可以找下。
重要的是下面的屬性

所有的Key屬性,都是資料庫的欄位名,代表了在每個位置的值,而根據需求,在NavigateUrl做了一些比較人性化一點的改動
因為每個節點的NavigateUrl可能是一樣,也可能是不一樣的。所以NavigateUrlFormat這個屬性可以根據需要去設定每一層節點的URLFormat,第一個代表第一層,最後一個代表他所在位置的層,以及後續的所有層。
下面是NavigateUrlFormat屬性的設定:

NavigateUrlKey的設定:


ID欄位的值將與format裡第一層的page1.aspx?id={0}結合,這樣寫應該容易懂點string.Format("page1.aspx?id={0}", value("ID"))
而第二層節點的xxx={0}也一樣與ID欄位結合
由於第一層只設定了一個tag所以text欄位被第一層忽略。
text欄位的值將結合到第二層的dss={1}中,string.Format("page2.aspx?xxx={0}&dsss={1}", value("ID", value(text)))
上面的代碼中其實是根本沒value這個方法的,只是為了大家明白控制項的工作原理寫出來的。
 最終的效果就是上面的,圖中的狀態列顯示的地址就是第一層節點的地址。
是第二層的地址:

第三層以及後面的層:

 

http://www.cnblogs.com/Garnai/archive/2007/12/08/john-webcontrols-tree.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.