GridView, і з чим його їдять

У цьому топіку я розповім про один чудовий контроль ASP.NET GridView. Багато новачків, я думаю, часто трапляються з проблемами у використанні цього контролю. Також проблеми були і в мене. Зазначу, що поодинці використовувати цей контроль сенсу майже немає. Всю свою міць він виявляє при використанні з будь-яким із джерел даних: SqlDataSource, LinqDataSource, ObjectDataSource та інші. У своїх прикладах я використовуватиму ObjectDataSource.

Отже, наведу простий приклад:

asp:GridView ID = "OperationHistoryList" runat = "server" DataSourceID = "OpHistoryListDS" AllowPaging = "True" PageSize = "15" CssClass = "data" AutoGenerateColumns = "False" onload ="OperationHistoryList_Load" EnableViewState ="False" > Columns > asp:BoundField DataField ="ДатаЧасТут" /> asp:BoundField DataField ="СтатусКористувача" /> asp:BoundField DataField ="КомментКСтатусу" /> Columns >

asp:GridView > * Цей source code був highlighted with Source Code Highlighter .

Що тут цікавого для нас? Перше, обов'язкове – це атрибут runat зі значенням ”server”. Друге –DataSource >. Пара наступних атрибутів,AllowPaging&PageSizeзадаються для пейджингу. Gr >

asp:ObjectDataSource ID = "OpHistoryListDS" runat = "server" SelectMethod = "SelectByMaster" TypeName = "OperationHistory" EnableViewState = "false" > SelectParameters > asp:Parameter Name ="maximumRows" Type ="Int32" /> asp:Parameter Name ="startRowIndex" Type ="Int32" /> asp:QueryStringParameter Name ="masterId" QueryStringField ="parent_id" Type ="String" /> SelectParameters > asp:ObjectDataSource >

* Цей source code was highlightedwith Source Code Highlighter .

Поки що пояснювати, до чого я тут не буду. Цього ми торкнемося далі, коли намагатимемося організувати пейджинг засобами GridView & ObjectDataSource.

GridView підтримує теймплейти. Теймплейти можна задати для пейджингу, а також для випадку, коли джерело повернуло нам порожні дані (чи порожньо, чи нічого не повернуло, кому як буде зрозуміліше). Крім цього, можливі широкі налаштування стилів для всіх складових елементів GridView – header, pager, row, cell тощо.

Ну і поки що закінчу знайомити з GridView. Пізніше розповім про пейджинг, налаштування з codebehind, написання методів вибору даних для ObjectDataSource і багато іншого.

Постараюся відповісти на всі запитання. Ставте.

UPD:завтра про пейджинг, сподіваюся рівень буде вищим msdn :) На сьогодні трохи не розрахував сил, от і написав мало

Хардкорна конфа за С++. Ми запрошуємо лише профі.