2009-04-02 17 views
2

私はそこにWebページのリストを持つヘッダテーブルを持っています。各レコードには、階層構造(TreeView)を解析するために探しているページURLフィールドがあります。私はそれについて行く最善の方法の確信していないと私はそれを働かせる問題を抱えています。ここでURL階層をツリー階層に解析する

は、URLの例です:

/file1.aspx 
/file2.aspx 
/aFolder/file.aspx 
/aFolder/file2.aspx 
/bfolder/file.aspx 
/bFolder/cFolder/file.aspx 

私はフォルダを展開し、最後にファイルを選択することができますファイルエクスプローラスタイルのツリービューにリストのこのタイプを載せていきたいと思います。

--Root 
    | 
    +-aFolder 
    | - aFolderFile1.aspx 
    | - aFolderFile2.aspx 
    +-bFolder 
     +-cFolder 
     | -cFolderFile1.aspx 
     -bFolderFile1.aspx 

よう

何かが実際のデータは明らかに、それぞれに複数のサブフォルダとファイルがあります。

私は何を探していますが、いくつかのコードがあり、それは.NETまたはSQL私の文字列を解析すること。私はWITHUNION ALLを使ったいくつかのSQLを使用しようとしましたが、私のために働くことができません。

ツリービューにバインドするために、データ・ソースは、ノードを関連付けるために、親フィールドを有する必要があります。たとえば、ファイルcFolderFile1.aspxの親はcFolder、cFolderはbFolderの親を持ちます。...

うまくいけば十分な情報が含まれています。そうでない場合は、私に知らせてください。投稿を編集します。

答えて

0

ありがとう:ここではそれをカバーする2回のフォーラムです。リンクのどれも私が探していたものと全く同じように見えなかったので、何かをまとめてしまった。

多くのコードがありますが、一般的には、URLのリストをいくつかの追加プロパティで汎用リストに読み込み、いくつかの正規表現を使用してパスを解析します。

URLSのリストには親ID /子IDが一切含まれていないため、FIND関数を使用して必要な部分を取得しました。

0

私はあなたが.NETのツリービューに直接SqlDataSourceコントロールをバインドすることができますかなり確信しています。提案のみんなのために

Building a Treeview From a SqlDataSource

Dynamic treeview

+0

リンクありがとうございます。私はそれらが主に物理的なフォルダを扱うが、私のものはDBにリストされているので、それらは動作するとは思わない。この場合、レコードに関連付けるために使用できるparentID/childIDはありません。文字列内の完全なURLだけです。 – hacker