Создание Windows-приложений на основе Visual C#

         

Перемещение по записям. Объект CurrencyManager


При выводе данных в виде отдельных записей необходимо реализовать возможность перемещения по записям. Это можно сделать с помощью экземпляра класса CurrencyManager, обеспечивающего функционирование связывания с данными. Располагаем на форме четыре кнопки и надпись в ряд следующим образом (рис. 4.54):


Рис. 4.54.  Расположение кнопок

Устанавливаем следующие свойства элементов управления:

ЭлементNameText
КнопкаbtnFirst|<
КнопкаbtnPrevious<
КнопкаbtnNext>
КнопкаbtnLast>|
НадписьlblRecordsPosition

Объявляем экземпляр cmRecords класса CurrencyManager ( в классе Form1):

CurrencyManager cmRecords;

В конструкторе формы Form1 связываем созданный объект cmRecords с таблицей "Поставщики" объекта ds:

cmRecords = (CurrencyManager)BindingContext[ds, "Поставщики"];

Создаем обработчики для событий ItemChanged и PositionChanged объекта cmRecords:

Листинг 4.21.

(html, txt)

Вызываем метод, отображающий навигацию по записям:

DisplayRecordsPosition();

Создаем этот метод:

Листинг 4.22.

(html, txt)

Добавляем методы, вызывающие метод DisplayOrdersPosition() в случае наступления событий ItemChanged и PositionChanged:

Листинг 4.23.

(html, txt)



Добавляем обработчиков для нажатий навигационных кнопок:

private void btnFirst_Click(object sender, System.EventArgs e) { cmRecords.Position = 0; }

private void btnPrevious_Click(object sender, System.EventArgs e) { cmRecords.Position--; }

private void btnNext_Click(object sender, System.EventArgs e) { cmRecords.Position++; }

private void btnLast_Click(object sender, System.EventArgs e) { cmRecords.Position = cmRecords.Count - 1; }

Запускаем приложение. Теперь можно перемещаться по записям (рис. 4.55).


Рис. 4.55.  Форма с навигационными кнопками


При выводе данных в виде отдельных записей необходимо реализовать возможность перемещения по записям. Это можно сделать с помощью экземпляра класса CurrencyManager, обеспечивающего функционирование связывания с данными. Располагаем на форме четыре кнопки и надпись в ряд следующим образом (рис. 4.54):


Рис. 4.54.  Расположение кнопок

Устанавливаем следующие свойства элементов управления:

ЭлементNameText
КнопкаbtnFirst|<
КнопкаbtnPrevious<
КнопкаbtnNext>
КнопкаbtnLast>|
НадписьlblRecordsPosition

Объявляем экземпляр cmRecords класса CurrencyManager ( в классе Form1):

CurrencyManager cmRecords;

В конструкторе формы Form1 связываем созданный объект cmRecords с таблицей "Поставщики" объекта ds:

cmRecords = (CurrencyManager)BindingContext[ds, "Поставщики"];

Создаем обработчики для событий ItemChanged и PositionChanged объекта cmRecords:

cmRecords.ItemChanged+=new ItemChangedEventHandler(cmRecords_ItemChanged); cmRecords.PositionChanged+=new EventHandler(cmRecords_PositionChanged);

Листинг 4.21.

Вызываем метод, отображающий навигацию по записям:

DisplayRecordsPosition();

Создаем этот метод:

private void DisplayOrdersPosition() { lblRecordsPosition.Text = "Запись" + (cmRecords.Position + 1) + + "из" + cmRecords.Count; }

Листинг 4.22.

Добавляем методы, вызывающие метод DisplayOrdersPosition() в случае наступления событий ItemChanged и PositionChanged:

private void cmRecords_ItemChanged( object sender, ItemChangedEventArgs e) { DisplayRecordsPosition(); } private void cmRecords_PositionChanged( object sender, System.EventArgs e) { DisplayRecordsPosition(); }

Листинг 4.23.

Добавляем обработчиков для нажатий навигационных кнопок:

private void btnFirst_Click(object sender, System.EventArgs e) { cmRecords.Position = 0; }

private void btnPrevious_Click(object sender, System.EventArgs e) { cmRecords.Position--; }

private void btnNext_Click(object sender, System.EventArgs e) { cmRecords.Position++; }

private void btnLast_Click(object sender, System.EventArgs e) { cmRecords.Position = cmRecords.Count - 1; }

Запускаем приложение. Теперь можно перемещаться по записям (рис. 4.55).


Рис. 4.55.  Форма с навигационными кнопками





Содержание раздела