私は設計上の質問があります。私は深さが4段のネストされたリピータ構造を持っています。リピータは、「セクション1〜4」とみなされるデータを表示します。これらのセクションは、すべてデータベース内でジョブ記述に結び付けられています。組み込みリピータの処理の深さ
リピータの最も深い層の各アイテムに編集ボタンを追加します。しかし、リピータの深度はすべて同じではありません。職務説明には、各セクション(1-4)ごとに複数のエントリーがあるため、リピーターの必要性があります。しかし、キャッチは、前述のように、セクションの所与のエントリが1〜3〜1〜4〜1であってもよいということです。
これは、一度に1つの層にのみバインドするように設計されているということを難しくする1つの追加の前提条件です。次に、ドリルダウンするimgボタンをクリックし、次のデータセットを内側のリピータにバインドします。このため、バインドする回数を単純にカウントするよりも難しくなります。
私の質問は、どのようなプログラミング構造を採用すれば比較的速く、特定のエントリの深さを推測することができますか?明らかに、追加のチャージを必要としない解決策は、期限があると考えれば驚くべきものです。
ここはテーブルの構造です。それは変更できないことを覚えておいてください。それはもっと前だった。
Table FK PK
Section1 | JobID | Sect1ID |
Section2 | Sect1ID | Sect2ID |
Section3 | Sect2ID | Sect3ID |
Section4 | Sect3ID | Sect4ID |
リピータ構造
<Repeater 1>
<Section 1 Data>
<Repeater 2>
<Section 2 Data>
<Repeater 3>
<Section 3 Data>
<Repeater 4>
<Section 4 Data>
</Repeater>
</Repeater>
</Repeater>
</Repeater>
私のアイデアのいくつか。
エントリの深さを計算するストアドプロシージャを作成します。 SectIDを渡し、SectIDに相対的な深さを返します。私はすでにセクションIDで隠れたasp:ラベルを介して個々のリピーターアイテムを識別する構造を持っています。
セクションを深さにマッピングするための辞書を維持します。ストアドプロシージャを使用します。ただし、アイテムがドリルされたときのエントリのみ。これは軽量で、ユーザーが興味を持っているアイテムだけを追跡します。
ユーザーがドリルダウンするたびに、深さが等しいかどうかを確認してください。 imgボタンをクリックし、そうでなければ、辞書の値をドリルしてインクリメントします。
他のアイデアや問題は私の解決策で予見されますか?