Страница 2 из 8
Связывание (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> |