+無限階層ツリー

通常、データベース動的に生成されたクラスのメニューを参照して、以下を生成するには2つの方法があります。

  1. ツリービュー+ XMLを使用して生成
  2. ULおよびLi、再帰的なロジックの使用を使用して、CSS + JavaScriptで設計されました

最近、比較的簡単なの使用で、このクラスのメニュー文言、練習を開始するには、次の手順を知りました


はじめに:

最初の記事に公開プログラムは最終的に出てきました。

通常、データベース動的に生成されたクラスのメニューを参照して、以下を生成するには2つの方法があります。

  1. ツリービュー+ XMLを使用して生成
  2. 使用
    • 、再帰的なロジックの使用; CSS + JavaScriptで設計されました
      1. 91は、大MenuMatic + [ASP.NET]再帰長いメニューを参照することができます
      2. 動的ツリー構造のデータテーブルを使用して発生する大きなASP.NET 2.0ツリービューをニャー

最近、比較的簡単なの使用で、このクラスのメニュー文言、練習を開始するには、次の手順を知りました。

フロントはじめと準備:

、dTree公式サイト: http://www.destroydrop.com/javascripts/tree/

  1. これで無限のツリーメニューは、状態に記録することができます
  2. あなたが複数のメニューツリーを作成することができます同じ画面
  3. サポートブラウザ:IE 5 +、ネットスケープ6 +、オペラ7 +、Mozillaの(使いやすさ)

第二に、基本的な言葉遣い:

 
 

第三に、完全な言葉遣い:

仕様:

a.add(编号, 父编号,'文字','网址','提示文字','目标','一般图示','点选图示','开启状态');

例:

a.add(1, 0, '关于我', 'me.aspx', '自我介绍', 'main', 'folder.gif', 'open_folder.gif',true);

第四に、属性の設定:

a.config.target =「mytarget」;→開くデフォルトのインストール先
a.config.folderLinks =真;→ディレクトリをリンクできるかどうか
a.config.useSelection =真;現在の高輝度オプションレンダリングするかどうか→
a.config.useCookiesを= TRUE;状態ON→もし現在のレコード
a.config.useLines = TRUE;ノード間のライン描画するかどうか→
真a.config.useIconsを=;図示提示するかどうか→
偽a.config.useStatusText =と、→は、ノード名に置き換えURLがステータスバーに表示された
ノードがクリックされたのと同じ層をクローズするかどうか→; a.config.closeSameLevelが= falseを
a.config.inOrder = falseは、→を親ノードは常に、子ノードに配置されている場合、この設定を設定することができますスピードアップする場合はtrue。

データベースのツリー構造:

以下は、データベースフィールドの無限のメニュー構造の設計です。

1.sn番、2 ofsn親ID、タイトルなど3タイトル、4. URL文字列がに接続されています

フロントASP.NETはじめと準備:

web.configファイル


  
  
        
   
   

  
   
  

.aspxの

ます。<%@ Page Language = "VB" AutoEventWireup属性= "false"をCodeFile = "Default.aspx.vb"継承= "_デフォルト"デバッグ= "真" %> "タイプ="テキスト/ cssの」REL = "スタイルシート" />





    树状目录
    
 
 
    


    
 
 

.vb

Imports System.Data
Imports System.Text

Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then
            '调用 dtree,建立树状菜单
            dtree()
        End If
    End Sub

    Private Function dtree() As String
        'StringBuilder类 表示一个和字符串相似的对象,它的值是一个可变动的连续符值,
        '之所以可变动的原因是一旦以附加、移除、取代或插入符的方式建立后就可以修改。

        Dim sb As New StringBuilder
        Using connect As New OleDb.OleDbConnection(ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString)
            connect.Open()
            'sn为编号,ofsn为父编号
            Using Adp_Links As New OleDb.OleDbDataAdapter("SELECT * FROM links ORDER BY ofsn , sn", connect)
                Dim mydataset As New DataSet
                Adp_Links.Fill(mydataset, "links")
                If mydataset.Tables("links").Rows.Count > 0 Then

                    '
                    'mydataset有值后,开始附加数据给sb
                    '
                    sb.Append("")

                    '将sb的字符串指定给 LiteMenu
                    Me.LiteMenu.Text = sb.ToString
                End If
            End Using
        End Using
        '回传 LiteMenu 的数据
        Return (Me.LiteMenu.Text)
    End Function
End Class

スクリーニング結果の図:

今、HTMLソースコード:

結論説明:

サンプルコード:Dtree_ASP.NET_for_VB.rar

これらは、デモの弟、言葉遣い、概念の不備はご容赦くださいですが、また、我々は助言を与えることを躊躇トラブル。

自費出版の記事(その他)の経験後:

(サウンド謎:実行しない自分の問題を確認することはできません)下手に書かれ、常に誤認恐れて欲しかった、記事のレコードを送信し、圧力は本当に素晴らしいです。

これは、記録技術の記事のちょうど最初の作品です、自分で続けるために励ましと動機を与えます。

オリジナル:ビッグボックス  ツリー+無限クラス


おすすめ

転載: www.cnblogs.com/petewell/p/11495878.html