Табличный вывод данных в ASP.NET.
2010-04-27 от Kosten
При разработке web-приложений представление данных в виде таблиц - обычное явление. ASP.NET предлагает разработчикам стандартные компоненты представления данных в виде таблиц. Я хочу рассмотреть один из них - ListView.
В отличии от других компонентов он мне нравится тем, что позволяет управлять кодом разметки и поведением таблицы. Для тех, кто только начинает работать с ListView я хочу показать несколько типовых вариантов его использование.
Задача - вывод данных из БД в таблицу на страницу. Пусть наша БД состоит из одной таблицы, которая имеет следующую структуру:
ФИО - nvchar(35)
Адрес - nvchar(50)
Телефон - nvchar(20)
Дата рождения - datetime
Пол - bool
Описание - text
Для подключения к БД создадим строку подключения в файле web.config
<connectionStrings> <add name="dbConnectionString" connectionString="Data Source=COMPUTER\SQLEXPRESS;Initial Catalog=dbDataBase;Integrated Security=True" providerName="System.Data.SqlClient"/> </connectionStrings>
Создадим источник данных на странице, который будет получать данные из нашей таблицы:
<asp:SqlDataSource ID="dsDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:dbConnectionString %>" SelectCommand="SELECT Surname, Name, Patronymic, Addr, Phone, BirthDate, Gender, Description FROM tblTable"></asp:SqlDataSource>
Подготовительные действия выполнены, приступим к формированию таблицы:
<asp:ListView ID="lvDataView" runat="server" DataSourceID="dsDataSource"> <LayoutTemplate> <table border="1" > <tr> <td> ФИО </td> <td> Адрес </td> <td> Телефон </td> <td> Дата рождения </td> <td> Пол </td> <td> Описание </td> <td> Действия </td> </tr> <tr> <tr id="itemPlaceholder" runat="server"> </tr> </table> </LayoutTemplate> <ItemTemplate> <tr> <td> <asp:Label ID="lblSurname" runat="server" Text='<%#Eval("Surname")%>' Width="170px"></asp:Label> <br /> <asp:Label ID="lblName" runat="server" Text='<%#Eval("Name")%>' Width="170px"></asp:Label> <br /> <asp:Label ID="lblPatronymic" runat="server" Text='<%#Eval("Patronymic")%>' Width="170px"></asp:Label> </td> <td> <asp:Label ID="lblAddr" runat="server" Text='<%#Eval("Addr")%>' Width="170px"></asp:Label> </td> <td> <asp:Label ID="lblPhone" runat="server" Text='<%#Eval("Phone")%>' Width="100px"></asp:Label> </td> <td> <asp:Label ID="lblBirthDate" runat="server" Text='<%# String.Format("{0:d.MM.yyyy}", Eval("BirthDate"))%>' Width="170px"></asp:Label> </td> <td> <asp:Label ID="lblGender" runat="server" Text='<%#Eval("Gender")%>' Width="50px"></asp:Label> </td> <td> <asp:Label ID="lblDescription" runat="server" Text='<%#Eval("Description")%>' Width="170px"></asp:Label> </td> <td> <asp:LinkButton ID="lbEdit" runat="server" CommandName="Edit" CausesValidation="false">ред.</asp:LinkButton> </td> </tr> </ItemTemplate> </ListView>
Рассмотрим этот пример подробнее. Таблица описывается тегами
<tr id="itemPlaceholder" runat="server">Менять значение аргумента id нельзя. В разделе
Итак, мы рассмотрели процесс создания таблицы для вывода данных с гибкой возможностью формирования шаблона этой таблицы.
Продажа ювелирных изделий
Приходите к нам - квартиры новостройки лучшие обзоры, лучшие цены дайджест - серебряные подарки исследования, все обзоры, дешёвые бензиновые генераторы комментарии, лучшие новости.
Опубликовано Вторник, 27-04-2010 в 4:43 пп в рубрики Без рубрики. Вы можете оставить отслеживать комментарии к записи при помощи RSS 2.0 ленты. Вы можете оставить комментарий, или трекбек с Вашего сайта.