Доступ к данным | Доступ к БД из ASP.NET | 2. Связывание (Binding) SQL данных с Repeater Control Дальше »

2. Связывание (Binding) SQL данных с Repeater Control

Repeater control полезен только для показа данных, не взаимодействуя с ними. Его преимущество состоит в том, что могут быть установлены шаблоны, позволяющие отображать данные различными способами.
Следующий пример демонстрирует связывание Repeater control с DataView (возвращённого из SQL запроса) который содержит информацию о размещении книг. В примере также присутствуют HeaderTemplate и FooterTemplate, которые включаются вначале и конце листинга, соответственно.
Repeater control выполняет только итерации по связанным данным, предоставляя itemtemplate один раз для каждого элемента в коллекции DataSource. Он не предоставляет ничего, кроме элементов, содержащихся в его шаблонах.

Доступ к SQL базе данных

1. Импортируйте необходимые для вашей страницы пространства имён. Это позволит обеспечить ваш код доступом к необходимым классам.


<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SQL" %>
<html>

2. В пределах тэга <script language="C#" runat="server">, используйте функцию Page_Load, которая обеспечит подключение к базе данных, создаст и заполнит новый Dataset информацией из базы и затем свяжет Repeater control с Dataset. Это показывается в следующем примере кода:


<script language="C#" runat="server">
    void Page_Load(Object semder, EventArgs e) {
    {

а) Обеспечьте подключение к базе данных "pubs", расположенной на локальном компьютере.


        SQLConnection myConnection = new SQLConnection( 
                     "server=localhost;uid=sa;pwd=;database=pubs");

б) Соединитесь с SQL базой данных, используя запрос "select *", чтобы получить все данные из таблицы "Titles".


        SQLDataSetCommand myCommand = new SQLDataSetCommand(
                             "select * from Titles", myConnection);

в) Создайте и заполните Dataset.


        DataSet ds = new DataSet();
        myCommand.FillDataSet(ds, "Titles");

г) Свяжите MyDataList с таблицей "Titles", используя заданное по умолчанию представление. Заметьте, что MyDataList - это "id" установленный для Repeater control в <body> страницы.


        MyDataList.DataSource = ds.Tables["Titles"].DefaultView;
        MyDataList.DataBind();
    }

</script>

3. В тэге страницы <body>, отобразите данные.


<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0">

4. Откройте Repeater control


    <ASP:Repeater id="MyDataList" runat="server">

5. Установите шаблоны для Repeater control.

а) Установите шаблон для открытия таблицы и отображения заголовков столбцов.


      <template name="headertemplate">
        <table width="100%" style="font: 8pt verdana">
          <tr style="background-color:DFA894">
            <th>
              Заголовок
            </th>
            <th>
              ID заголовока
            </th>
            <th>
              Тип
            </th>
            <th>
              ID издателя
            </th>
            <th>
              Цена
            </th>
          </tr>
      </template>

б) Установите шаблон отображающий реальные данные.


      <template name="itemtemplate">
        <tr style="background-color:FFECD8">
          <td>
            <%# DataBinder.Eval(Container.DataItem, "title") %>
          </td>
          <td>
            <%# DataBinder.Eval(Container.DataItem, "title_id") %>
          </td>
          <td>
            <%# DataBinder.Eval(Container.DataItem, "type") %>
          </td>
          <td>
            <%# DataBinder.Eval(Container.DataItem, "pub_id") %>
          </td>
          <td>
            <%# DataBinder.Eval(Container.DataItem, "price", "$ {0}") %>
          </td>
        </tr>
      </template>

в) Установите шаблон для закрытия таблицы.


      <template name="footertemplate">
        </table>
      </template>

6. Закройте Repeater control


  </ASP:Repeater>

7. Закройте страницу.


</body>
</html>

Доступ к данным | Доступ к БД из ASP.NET | 2. Связывание (Binding) SQL данных с Repeater Control Дальше »
Скачать электронную карту Ангарска бесплатно
Сайт управляется системой uCoz