Читаем Обработка баз данных на Visual Basic®.NET полностью

   rowState.Parse(rowState.GetType, cboRowState1.SelectedItem)

 End Sub

 Private Sub btnApply2_Click(ByVal sender As System.Object, _

  ByVal e As System.EventArgs) Handles btnApply2.Click

  Dim sort As String

  Dim rowState As DataViewRowState

  ' Указание фильтра.

  dvView2.RowFilter = txtFilter2.Text

  ' Указание сортировки.

  sort = cboSort2.SelectedItem

  If chkDesc2.Checked Then

   sort = sort & " DESC"

  End If

  dvView2.Sort = sort

  ' Указание состояние записи.

  dvView2.RowStateFilter = rowState.Parse(rowState.GetType, _

   cboRowState2.SelectedItem)

 End Sub

End Class

Подпрограмма frmDataViews_Load инициализирует разные объекты формы. Сначала создается объект DataAdapter, который затем используется для загрузки данных из таблицы базы данных в таблицу Customers набора данных DataSet. Далее создаются два представления данных: одно будет содержать создаваемое по умолчанию представление, а другое — новое представление dvView2. Далее объект-представление dvView2 инициализируется для отображения всех текущих записей с сортировкой по фамилии, т.е. по полю LastName.

После этого инициализируются два набора полей со списками. В поле со списком cboSort загружается список имен полей таблицы Customers, а в поле со списком cboRowState — список значений перечисления DataViewRowState.

НА ЗАМЕТКУ

В Visual Basic больше не поддерживается свойство ItemData. Дело в том, что вместо него для преобразования значений перечисления в строки для загрузки их в поле со списком используется метод GetNames перечисления. Аналогично, метод Parse перечисления используется для преобразования строк в значения перечисления при присвоении избранных значений свойству RowStateFilter.

Затем для элементов управления с критериями отбора записей задаются значения по умолчанию, т.е. исходный порядок сортировки для обоих представлений задается по полю ID. Наконец, каждое представление связывается с одной из сеток данных, что приводит к отображению в них всех текущих данных.

Избранные значения критериев применяются для соответствующего представления после щелчка на кнопке Apply. Две подпрограммы btnApplyl_Click и btnApply2_Click идентичны, за исключением того, что они относятся к разным наборам элементов управления. Фильтр записей (значение свойства RowFilter) задается на основании указанного текста в текстовом поле txtFilter, порядок сортировки (значение свойства Sort) — на основании выбранного поля в поле со списком cboSort (с дополнительным модификатором DESC нисходящего порядка), а фильтр состояния записи (значение свойства RowStateFilter) — на основании значения в поле со списком cboRowState2. Изменение свойств представлений, связанных с сетками данных, приводит к автоматическому отображению данных с новыми параметрами представления.

Скомпонуем проект DataSetCode и запустим полученное приложение. Щелкните на кнопке Data Views для отображения новой формы frmDataViews. Внесите необходимые изменения в критерии сетки и щелкните на кнопке Apply для внесения этих изменений в соответствующую сетку. На рис. 7.4 показан пример отображения данных из одной таблицы в двух разных представлениях.

Попробуйте выбрать разные поля сортировки и состояния записей для организации разных представлений. Попробуйте использовать разные фильтры, например сложные выражения ID > 10 AND ID < 18 или LastName Like с. Более подробные сведения о правилах создания фильтров приводятся в разделе с описанием свойства DataColumn.Expression справки Visual Studio .NET.

Кроме того, сетки автоматически поддерживают операции вставки, изменения и удаления записей, поэтому попробуйте отредактировать записи и выбрать соответствующее состояние для отображения только измененных записей.  

РИС. 7.4. Пример отображения данных из одной таблицы в двух разных представлениях формы frmDataViews

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных