Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Repeater вложенный в Repeater  (Прочитано 8368 раз)
0 Пользователей и 1 Гость смотрят эту тему.
abra
Постоялец

il
Offline Offline

« : 13-05-2009 10:45 » new

И опять здравствуйте :о)

Есть у меня 2 таблицы в бд. "Lessons" и "Subjects". В первой хранятся данные урока (ID, номер лекции, название и т.д.) , а во второй - перечень тем (ID, ID лекции, которой принадлежит тема, номер темы, название и т.д.).

Хочу сделать страничку, выводящую список лекций и ее тем.

лекция №1 [название]1.[тема]
2.[тема]
3.[тема]
лекция №2 [название]
1.[тема]
2.[тема]
...

Для этого хочу сделать Repeater (для тем), вложенный в Repeater (для лекций)

то, что есть сейчас: .aspx
Код:
<asp:Repeater ID="repLectures" runat="server">
    <ItemTemplate>
  <tr>
    <td colspan="2">
      <b><%# DataBinder.Eval(Container.DataItem, "Lesson_num") %>. <%# DataBinder.Eval(Container.DataItem, "Name") %><br /><hr class="Lessons" /></b>
    </td>
  </tr>
  <tr>
    <td style=" width:30px"></td>
    <td> <%#DataBinder.Eval(Container.DataItem, "Description")%></td>
  </tr>
  <tr>
    <td>
      <table>
       <tr>
        <td>
   <asp:Repeater ID="repThemes" runat="server">        
           <ItemTemplate>        
              <td><%# DataBinder.Eval(Container.DataItem, "Theme_num")%>.  <a href="Default.aspx?lesson=<%# DataBinder.Eval(Container.DataItem, "Theme_Name") %>"><%#DataBinder.Eval(Container.DataItem, "Title")%></a></td>          
           </ItemTemplate>
         </asp:Repeater>
         </td>
        </tr>
        <tr>
          <td>Вопросы</td>
        </tr>
        </table>        
    </td>
  </tr>
      </ItemTemplate>
  </asp:Repeater>

и .aspx.cs
Код:
 repLectures.DataSource = DB.GetItems("S_EducationOnLineStudent_ListLectures");// вызываю свой класс и хранимую процедуру для выборки из таблицы Lessons
        repLectures.DataBind();
Вопрос -
1, как из этого DataBind вытащить ID лекци? (DataBinder.Eval("ID_Lesson") не работает)
2, можно ли в принципе делать вложенные Repeater-ы? Здесь была моя ладья...
« Последнее редактирование: 14-04-2010 05:25 от Sel » Записан

Что для одного ошибка, для другого - исходные данные.
anabis
Гость
« Ответ #1 : 09-04-2010 17:22 » 

Да, можно использовать вложенность, используйте для этого специальный event. Тут такой же пример с ListView
ichavo.ru/voprosy/10-03-30/kak-dobavit-sobytie-vnutri-listview
« Последнее редактирование: 09-04-2010 17:24 от Алексей1153++ » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines