2011-01-13 4 views
0

TreeViewコントロールを使用していますが、チェックボックスの代わりにラジオボタンを使用できます。私は現在、次のコードを使用してラジオボタンを作成しています:C#データベースの戻り値でPageLoadのTreeViewにラジオボタンを設定する

e.Node.ChildNodes.Add(new TreeNode(String.Format("<input type='radio' value='{0}' name='rblMain' /> {1}", value, name), value)); 

は今、私の質問は、私は私が正しいノードにデータベースから返されていますし、それが選択されている値を持つノードを再増殖することができますどのようにでしょうか?

おかげで、アンドリュー

答えて

2

は、私は便利であるかもしれないこれを見つけた:

http://www.dotnetspider.com/forum/217059-radiobutton-treeview.aspx

それは、テキストの前にラジオボタンを表示するためのソリューションを持っており、ノード選択されたイベントでは、我々がする必要があります選択したノードの選択を解除して現在のノードを選択するコードを記述します。その10〜15行程度のコードは、このイベントで書き込む必要があります。 (!IsPostBackプロパティ)のボイドをPage_Load(オブジェクト送信者、EventArgsの電子) { 場合を保護 { のTreeNode nodeParent =新しいのTreeNode(); nodeParent.Text = "親";

tvwSample.Nodes.Add(nodeParent); TreeNode nodeChild =新しいTreeNode(); nodeChild.Text = "Child1";

nodeParent.ChildNodes.Add(nodeChild); nodeChild = new TreeNode(); nodeChild.Text = "Child1"; nodeParent.ChildNodes.Add(nodeChild); }}

保護ボイドtvwChecked(オブジェクト送信者、のEventArgs電子) {ストリングstrText =((ツリービュー)送信者).SelectedNode.Text。 }

strTextでは「Child1」というテキストが表示されます。ここでads checked = "true"とすると、チェックされたモードになります。 さらに詳しい情報が必要です。ノードを選択した後、次のステップは何ですか?あなたはこれらをデータベースに送るか、それをベースにしています。

ここにいくつかのものもあります。同じテーマに関する http://forums.asp.net/p/1250727/2316073.aspx

protected void TreeView1_TreeNodeDataBound(object sender, TreeNodeEventArgs e) 
{ 
      e.Node.Text = "<input type='radio' />" + e.Node.Text; 
} 

追加リンク http://forums.asp.net/p/1626167/4180796.aspxhttp://www.codeproject.com/KB/tree/TreeViewRadioBox.aspx

+0

ノードが選択された後、それらが保存されます[送信]をクリックする必要がありますが、データベース。それはあなたが求めていることですか? –

+0

ラジオボタンを使用すると、一度に1つのノードしか選択できないということですか?おそらく、選択したインデックスを変更すると、ノードのテキストをに設定することができます。他のノード上のチェックされた値をクリアするために他のノードをループする必要があります。ノード上の 'tag'プロパティを使用してレコードIDなどのデータを格納することができます。これにより、DB内のどのレコードを更新する必要があるかを知ることができます。 – WraithNath

+0

はい、正しいので、入力のIDプロパティを設定しています。それはいい考えです。私はタグの値を設定しようとし、私は何ができるのかを見てみましょう。 –

関連する問題