У меня есть вопрос дизайна. У меня есть вложенная структура повторителя, которая имеет 4 яруса. Повторители отображают данные, которые рассматриваются как «Разделы 1-4». Все эти разделы в базе данных связаны с описанием задания.
Я хочу добавить кнопку редактирования для каждого элемента самого глубокого уровня ретрансляторов. Однако, глубина репитера не все эквивалентны. Описание работы может иметь несколько записей для каждого раздела (1-4), поэтому необходимы повторители. Однако, как указывалось ранее, подвох состоит в том, что данная запись секций может быть 1-3 ... затем 1-4 ... может быть, даже просто первая секция.
Еще одним предварительным условием, которое делает это сложным, является то, что он был разработан для привязки только к одному уровню за раз. Затем они нажимают кнопку перехода вниз по 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. У меня уже есть структура, позволяющая идентифицировать каждый отдельный элемент ретранслятора по идентификатору раздела через скрытую метку asp: *. 1019 *
Ведение словаря для отображения раздела по его глубине. Используйте хранимую процедуру. Тем не менее, только запись, когда предмет сверлится. Таким образом, он легкий, и я отслеживаю только те элементы, которые интересуют пользователя.
Каждый раз, когда пользователь выполняет детализацию, выполняйте проверку, чтобы увидеть, равны ли глубины ... если они есть, то отобразите кнопку редактирования img, если нет, то просверлите и увеличьте значение в словаре.
какие-либо другие идеи или проблемы, которые они предвидят с моим решением?