2009-08-20 4 views
0

Я ищу совет относительно того, что было бы лучшим способом сделать это в ASP.Net (C#).asp.net - отображение словаря со списком в качестве значения?

Я пытаюсь создать страницу, в которой перечислены все сотрудники нашего офиса, и был составлен список расписаний на 4 недели.

У меня есть объект расписания на каждую неделю, который может сделать все это, и я полагаю, что могу вернуть словарь>, чтобы получить данные. Но каков наилучший способ привязки данных?

Что я хочу, чтобы отобразить, как это:

StaffMember - WEEK 1 (DATE) - WEEK 2 (DATE) - WEEK 3 (DATE) - WEEK 4 (DATE) 
--------------------------------------------------------------------------- 
BOB BUILDER - Val1, Val2,[] - Val1, Val2,[] - Val1, Val2,[] - Val1, Val2,[] 
OLD MATE - Val1, Val2,[] - Val1, Val2,[] - Val1, Val2,[] - Val1, Val2,[] 

и т.д. и т.д. для всех сотрудников. [] обозначает флажок, который человек, который использует эту страницу, будет проверять, когда они обработали что-то на их конце, относящееся к расписанию недель.

Моей мысль такова: - Есть ListView с установкой шаблона элемента, чтобы иметь строки таблицы и ячейки, и литералы для значений - onitemdatabound получить KeyValuePair, а затем установить сотрудник буквального на имя сотрудника (который является ключом), затем установите каждое значение из каждой недели в качестве значений из соответствующего расписания в списке

Проблема в том, что я не уверен, как динамически устанавливать дату каждой недели, I Думаю, я мог бы сделать findcontrol на шаблоне списка или что-то в этом роде? Или настроить таблицу за пределами списка? Просто все чувствуют себя немного грязно, поэтому я подумал, что получу советы от умных людей в stackoverflow. Есть ли более простой способ сделать это? Является ли использование сложных словарей, подобных этому, нахмурившихся в .net, и есть ли другой способ сделать это?

ответ

0

Вы можете быстро просмотреть реализацию ObjectDataSource. Поскольку вы сначала будете выбирать из своих данных, это может быть относительно легко реализовать.

Вы можете создать класс, у которого есть свойство Date, с помощью которого вы можете фильтровать вызовы Select() в словаре. Затем вы можете манипулировать своим ObjectDataSource в коде, чтобы просто дать ему новое значение даты, когда вам нужно, а затем снова вызвать Databind() в своей сетке.

Смежные вопросы