- - PR -
パネルにツリー表示のコントロールを動的に配置するには
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-01-30 14:32
ASP.Net1.0を使ってウェブページを作っておりますが、
どうしても自分で解決できない為質問させてください。 以下のようなページを作りたいと思っております。 (フレーム左側メニュー) 配置順 1.静的コントロール(ラベル1・リンク1) 2:動的コントロール ・リックでツリー表示 ・ツリー動作は<head>内記述JSCript ・ツリーの子要素は、DBより取得の為、可変 ・子要素はHyperLink 3:動的コントロール 2と同じく 4:静的コントロール ハイパーリンク×6 まず、1・4を配置し 1と4の間にパネル(PlaceHolderのほうが適しているかと思いましたが、ページの一番上に来てしまう為やめました)を配置し、パネルの中に動的に2・3を展開すればよいかと思い、以下のコードを作りました。 ※<Head>内----------------------------------------- <script type="text/javascript"> <!-- function exMenu(tName) { tMenu = document.all[tName].style; if(tMenu.display == 'none')tMenu.display = "block"; else tMenu.display = "none"; } //--> </script> </HEAD> Page_Load内----------------------------------------- ※2のみです Dim strTreeBgn As String = "<A href=""JavaScript:exMenu('treeMenu3')"" target=""left""><asp:label id=""lblUserName3"" style=""Z-INDEX: 116"" runat=""server"">テスト</asp:label></A><DIV id=""treeMenu3"" style=""DISPLAY: none"">" Dim strTreeEnd As String = "</DIV>" Dim litDivBgn As New LiteralControl("<DIV>") Dim litDivEnd As New LiteralControl("</DIV>") Dim litTreeBgn As New LiteralControl(strTreeBgn) Dim litTreeEnd As New LiteralControl(strTreeEnd) With Me.Panel1.Controls .Add(litTreeBgn) For i As Integer = 0 To (DBTable.Rows.Count - 1) Dim myHyperLink As New HyperLink With myHyperLink .Text = DBTable.Rows(i).Item(0) .Target = "right" .NavigateUrl = "0000.aspx" & "?id=" & CStr(DBTable.Rows(i).Item(1)) End With .Add(litDivBgn) .Add(myHyperLink) .Add(litDivEnd) Next i .Add(litTreeEnd) End With ----------------------------------------- するとクリックでツリーが改行されないまま固まって展開されます。 ソースで見ると、<DIV>要素が最後の1度しか入っていませんでした。 <BR>に変えても同じでした。 質問1:ハイパーリンクごとに改行を入れるには何処を直せばよいでしょうか。 質問2:パネルを自動的に拡張・縮小させ、それに伴い4の位置も上下させる方法は無いでしょうか。パネルでなくてもよいのですが。ヒントだけでも教えて頂けたらうれしいです。 質問3:ラベルにJavaをつけるコードが自分で分からなかった為Literalコントロールを使っております。 Attributesのような書き方がきっとあるのだと思いますが、 恐縮ですが不勉強の為わかりません。 上の場合どのようなコードを書けばよいのか、教えていただければ大変うれしいです。 始めて間もない為、おかしな点が多いと思いますが ご指摘・ご指導よろしくお願いいたします。 |
|
投稿日時: 2007-01-30 14:48
すみません、自己訂正です。
10行目あたり 2:動的コントロール ・リックでツリー表示 →・クリックでツリー表示 ・ツリーの子要素は、DBより取得の為、可変 →・ツリーの子要素の内容・要素数は、DBより取得の為、可変 |
|
投稿日時: 2007-01-31 17:09
ご回答が無いようですので、代替案のTreeViewで自己解決とさせていただきます。
分かりやすい文章を書けるよう出直してまいります。 |
1