0
リピータとデータセットを使用していくつかのCBLを接続しようとしています。データセットには、同じスキーマと(1つの、単一の)リレーションを持つ2つのテーブルが含まれています(SQLの土地では、自己結合と考える)。DataSetとリピータを使用したネストされたCheckBoxList
DataSource =の関係を設定するとコントロールがレンダリングされるとき、子要素を表示することができます。私はモデルが良いのは分かっていますが、モデルをテストするために間違って配置されています(下記のコードを参照してください)。私がいないすべての親が子供を持っているすべての
- 、まだないものが を表示する必要があります。
これは正しい考え方で近づいていますか?つまり、私は何か基本的なものがないのですか? CBL(プレーンテキスト)の外側の実装は、細かいper this article
<asp:Repeater ID="ParentRepeater" runat="server"> <ItemTemplate> <asp:CheckBoxList ID="ParentCBL" runat="server" DataSource='<%# DataBinder.Eval(Container.DataItem,"Joined") %>' DataTextField="TextProperty" DataValueField="ValueProperty"> </asp:CheckBoxList> <asp:Repeater ID="ChildRepeater" runat="server"> <ItemTemplate> <asp:CheckBoxList ID="ChildCBL" runat="server" DataSource='<%# DataBinder.Eval(Container.DataItem, "Joined") %>' DataTextField="TextProperty" DataValueField="ValueProperty"> </asp:CheckBoxList> </ItemTemplate> </asp:Repeater> </ItemTemplate> </asp:Repeater>
問題があります
ページの読み込みがあなたがChildRepeater
DataSet ds = Foo.foo();
ParentRepeater.DataSource = ds.Tables["Parent"];
ParentRepeater.DataBind();
他のコントロールを使用して関係を表示する必要がありますか?もしそうならツリービューをお勧めしますか? – PFMMX
ご要望によって異なります。各ノードのチェックボックスを表示したい場合は、TreeViewを使用すると、ノードでチェックボックスを使用できるため、優れたソリューションになります。しかし、あなたが間違って使用したにもかかわらず、リピーターも可能です。 – Alexey
お金の上に@アレクシー。リピータに座って、チェックボックスの値を含む隠しフィールドを追加しました(CBLの初期推論)。 – PFMMX