https://technet.microsoft.com/en-us/library/ms143221(v=sql.105).aspx |
Элементы-потребители данных ASP .NET 2.0
Так же просто добавляется возможность разбивки на страницы:
AllowPaging="True" PageSize="5"
Если не указано значение PageSize, он по умолчанию считается равным 10.
Пейджер можно настроить разнообразными способами через настройку PagerSettings, например:
<PagerSettings FirstPageText="Первая" Mode="NextPreviousFirstLast" LastPageText="Последняя" NextPageText="->" />
Вместо текста элементами пейджера могут служить картинки:
<PagerSettings Mode="NextPreviousFirstLast" FirstPageImageUrl="~/RW_btn.gif" LastPageImageUrl="~/FF_btn.gif" NextPageImageUrl="~/fwd_btn.gif" PreviousPageImageUrl="~/RW_btn.gif" />
Поле Comments в таблице может быть пустым, то есть его значение допускает Null. Можно задать текст, который отображается для таких значений:
<asp:BoundField DataField="Comments" HeaderText="Comments" SortExpression="Comments" NullDisplayText="N/A"/>
Введен также шаблон на случай, когда в источнике данных нет ни одной записи:
<asp:GridView ID="GridView1" runat="server"> <EmptyDataTemplate> No records </EmptyDataTemplate> </asp:GridView>
Удаление и редактирование записей делается добавлением в контейнер < Columns > столбца
<asp:CommandField ShowEditButton="True" ShowDeleteButton="True" />
В столбце появляются гиперссылки " Delete ", " Edit ".
Свойство ButtonType может принимать значение Image, в таком случае нужно задать путь к картинке или кнопке:
<asp:CommandField ButtonType="Image" DeleteImageUrl="~/button- delete.gif" ShowDeleteButton="True" /> <asp:CommandField ButtonType="Button" ShowDeleteButton="True" />
До сих пор все данные отображались в виде простого текста. GridView позволяет настраивать столбцы, чтобы в них появлялись различные элементы управления. Например, если в источнике данных есть булевское поле, то GridView будет показывать Checkbox.
Типы колонок те же, что и в DataGrid, и к ним прибавилось 2 новых типа:
CheckBoxField — в каждой строке выводится флажок CheckBox.
ImageField позволяет выводить картинку, если в поле хранится путь к ней.
HyperLinkField — аналог HyperLinkColumn в DataGrid. Его можно использовать для передачи параметров QueryStringParameter, чтобы в результате выводить отфильтрованную информацию. На странице CustomersByCountry находится источник данных, знакомый по "Работа с базами данных (продолжение). Элементы-источники данных (Data Source Controls)" .
<asp:SqlDataSource ID="SqlDataSource4" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" SelectCommand="SELECT * FROM [Customers] where @Country is null or Country = @Country" ProviderName="<%$ ConnectionStrings:NorthwindConnectionString.ProviderName %>" CancelSelectOnNullParameter="False"> <SelectParameters> <asp:QueryStringParameter Name="Country" QueryStringField="Country" /> </SelectParameters> </asp:SqlDataSource>
К нему привязан GridView с полем типа HyperLinkField:
<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource4" OnRowUpdating="GridView1_RowUpdating" OnRowDataBound="GridView1_RowDataBound" OnRowUpdated="GridView1_RowUpdated" AutoGenerateColumns="False"> <Columns> <asp:BoundField DataField="CompanyName" HeaderText="CompanyName" SortExpression="CompanyName" /> <asp:BoundField DataField="ContactName" HeaderText="ContactName" SortExpression="ContactName" /> <asp:BoundField DataField="ContactTitle" HeaderText="ContactTitle" SortExpression="ContactTitle" /> <asp:BoundField DataField="Address" HeaderText="Address" SortExpression="Address" /> <asp:BoundField DataField="City" HeaderText="City" SortExpression="City" /> <asp:HyperLinkField HeaderText="Country" DataNavigateUrlFields="Country" DataNavigateUrlFormatString="~/CustomersByCountry.aspx?coun- try={0}" DataTextField="Country" /> </Columns> </asp:GridView> <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/CustomersByCountry.aspx">View all</asp:HyperLink>