Реклама:

1. В окне Toolbox на закладке Web Forms выберем элемент управления DataGrid и перетащим его в форму.

2. Под окном Properties выберем сноску AutoFormat и выберем шаблон Professionall из списка предложенных шаблонов.

3. На закладке Paging снимем отметку с поля Show navigation buttons.

4. Установим следующие значения свойств грида:

Свойство

 

Значение

 

AllowPaging

Checked

   

Allow custom paging

Checked

   

Page size

   

1.9.5. Добавление навигационных клавиш

1. В окне Toolbox на закладке Web Forms выберем два элемента управления LinkButton и перетащим их в форму.

2. Разместим эти элементы под элементом управления DataGrid.

3. Левый элемент LinkButton назовем (свойство ID) btnPrevious; свойство Text установим равным <Предыдущая.

4. Правый элемент LinkButton назовем (свойство ID) btnNext; свойство Text установим равным Следующая>.

1.9.6. Создание процедуры показа данных в гриде

1. В приложении создадим приватную переменную CurrentPage:

public class WebForml : System.Web.UI.Page

{

//---описания элементов управления

private int CurrentPage;

}

2. Создадим метод FillGrid формы. Метод используется для считывания страниц данных и помещения их в DataGrid. Ссылка на команду данных, выполняющую считывание из источника данных, передается в метод FillGrid как параметр.

private void FillGrid(System.Data.SqlClient.SqlCommand currentSqlCommand)

{

//---создание ридера

System.Data.SqlClient.SqlDataReader dr;

//---открытие соединения

sqlConnection1.Open();

//---выполнение команды. Доступ к данным - через ридер

dr = currentSqlCommand.ExecuteReader();

//---показ данных в гриде и связывание

DataGrid1.DataSource = dr;

DataGrid1.DataBind();

//---закрытие ридера и соединения

dr.Close();

sqlConnection1.Close();

//---запоминаем номер текущей страницы из переменной

ViewState["CurrentPage"] = CurrentPage;

//---запоминаем значение первого столбца первой записи

//---страницы и связываем с номером страницы

ViewState[CurrentPage.ToString()] =

DataGrid1.Items[0].Cells[0].Text;

//---если число записей на странице меньше,

//---чем задано в свойстве PageSize грида,

//---деактивизируем кнопку btnNext

if (DataGridl.Items.Count < DataGridl.PageSize) {

btnNext.Enabled = false;

}

}

1.9.7. Инициализация самой первой страницы данных

При запуске приложения должна считываться первая страница данных. Для этого в обработчике события загрузки формы нужно вызвать на выполнение метод FillGrid формы и передать ему в качестве параметра ссылку на команду данных

cmdNext:

private void Page_Load(object sender, System.EventArgs e)

{

if (!Page.IsPostBack)

{

cmdNext.Parameters["@customerid"].Value = ""; CurrentPage = 0;

FillGrid(cmdNext);

}

}

1.9.8. Считывание следующей страницы данных

Когда пользователь хочет организовать считывание следующей страницы данных, он нажимает кнопку Следующая> (btnNext). При этом вызывается метод FillGrid формы. В качестве параметра ему передается ссылка на команду данных cmdNext. Значение параметра @customerid названной команды устанавливается равным значению столбца CustomerID из последней записи текущей страницы. Таким образом, считывается 10 записей со значениями столбца CustomerID, превышающими значение параметра @customerid.


⇐ Предыдущая страница| |Следующая страница ⇒