Опубликован: 31.08.2006 | Доступ: свободный | Студентов: 3927 / 218 | Оценка: 4.14 / 3.89 | Длительность: 39:16:00
ISBN: 978-5-9570-0021-3
Лекция 21:

Представление данных с помощью элемента управления DataGrid

< Лекция 20 || Лекция 21: 123 || Лекция 22 >
Создание объекта сетки данных
  1. Измените размер формы так, чтобы она стала достаточно большой, чтобы отображать 4 столбца и около 10 строк данных.
  2. Щелкните на закладке Windows Forms в окне Области элементов, а затем на элементе управления DataGrid.
  3. Создайте с помощью элемента управления DataGrid на форме большую сетку данных.
  4. Добавьте под сеткой данных элемент управления Button. Ваша форма должна выглядеть примерно так.


  5. Щелкните на сетке данных формы, а затем откройте окно Properties (Свойства).
  6. Установите свойство Anchor для всех четырех сторон, как показано ниже.


    Теперь вы будете использовать свойства DataSource и DataMember для связывания объекта сетки с набором данных DsInstructors1.

  7. Отобразите в окне Properties (Свойства) опции свойства DataSource. Свойство DataSource содержит имя набора данных, который вы отображаете в сетке данных. Вспомните, что в программе может быть несколько активных наборов данных, и вы можете выбрать здесь более одного набора.
  8. Щелкните на наборе данных DsInstructors1 (но не на элементе DsInstructors1.Instructors). Когда вы выберете набор данных DsInstructors1, окно Properties (Свойства)будет иметь вид, показанный на иллюстрации справа.


    Теперь вы будете использовать свойство DataMember для указания дочернего списка (в данном случае, таблицы), который вы хотите отображать в сетке данных.

  9. Щелкните на свойстве DataMember, а затем на элементе Instructors. Как только вы укажете свойство DataMember, в объекте сетки появится сетка (таблица), содержащая указанные вами поля таблицы Instructors. Поля появляются как столбцы таблицы, а строки заняты первой записью из набора данных. Когда вы запустите вашу программу и заполните сетку данных данными, в эту таблицу также будут добавлены другие записи из базы данных Students.mdb.
  10. Щелкните на форме и установите ее свойство Text на значение Пример DataGrid.
  11. Щелкните на Button1 формы, установите ее свойство Anchor на значение Bottom, Left, свойство Name на значение btnLoad, а затем установите свойство Text на значение Загрузить. Ваша форма должна выглядеть примерно так.


    Теперь вы добавите в процедуру события btnLoad_Click метод Fill.

  12. Чтобы отобразить процедуру события btnLoad_Click, сделайте двойной щелчок мышью на кнопке Загрузить.
  13. Введите следующие операторы программы:

    DsInstructors1.Clear()
    OleDbDataAdapter1.Fill(DsInstructors1)

    Метод Clear гарантирует, что в наборе данных не будет присутствовать никаких данных от предыдущего запроса - он очищает набор данных и готовит его для приема новых данных. Метод Fill заполняет набор данных данными из набора данных DsInstructors1 - данными из таблицы Instructors базы данных Students.mdb.

  14. Чтобы сохранить изменения, щелкните на кнопке Save All (Сохранить все) на панели инструментов. Запустите эту программу.
  15. Щелкните на кнопке Start (Начать) стандартной панели инструментов.
  16. Щелкните на кнопке Загрузить. Объект сетки данных заполнится данными из набора данных. Ваш экран будет выглядеть примерно так.


    Каждый ряд сетки представляет запись данных из таблицы Instructors базы данных. Оператор SELECT выбрал все поля (столбцы) таблицы Instructors, но число полей можно легко ограничить так, чтобы была видна (или включена в набор данных) не вся таблица. Обратите внимание, что поля расставлены в том порядке, в котором вы указали их в операторе SELECT - вы можете изменить этот порядок, расставив поля в операторе SELECT по-другому. Также заметьте, что появились полосы прокрутки, так что вы можете просмотреть все записи, которые сейчас не видны. Это удобная простая функция, которая в элементе управления DataGrid реализуется автоматически.

  17. Чтобы просмотреть информацию из базы данных, которая представляет данные об инструкторах колледжа или университета, прокрутите список записей вниз.
  18. Измените размер формы, чтобы увидеть больше данных об инструкторах. Так как для сетки данных и кнопки вы установили свойства Anchor, их размер и положение будут изменены в соответствии с размерами формы. Заметьте, что вы можете расширить столбцы сетки данных (чтобы увидеть все их содержимое), перетаскивая вправо границы ячеек столбцов. На следующей иллюстрации показано, как выглядит сетка данных после расширения столбца Instructor.


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

  19. Щелкните на заголовке столбца Instructor. Сетка данных отсортируется в алфавитном порядке по имени инструктора. (Первым будет имя Barr, Adam.) При сортировке записей базы данных требуется наличие сортируемого столбца, называемого ключом - вы устанавливаете этот ключ, щелкнув на заголовке того столбца, который вы хотите использовать для сортировки.

    DataGrid предоставляет визуальную идентификацию текущего ключа сортировки - маленькую стрелку справа от заголовка столбца. Если стрелка направлена вверх, то сортировка производится в алфавитном порядке от A до Z. Можно снова щелкнуть на заголовке столбца и изменить направление порядка сортировки, сделав его алфавитным в направлении от Z до A. Стрелка работает как переключатель, так что можно последовательно переключаться между этими режимами сортировки.

    Совет. Сортировка элемента управления DataGrid разрешена только тогда, когда свойство AllowSorting установлено на значение True, что является его значением по умолчанию. Если вы не хотите разрешать сортировку, установите при разработке формы это свойство на False.
  20. Чтобы посмотреть, как переключается порядок сортировки, щелкните несколько раз на столбце Instructor.
  21. Щелкните на заголовке другого столбца, например, InstructorID и PhoneNumber, что приведет к сортировке базы данных по этим ключам.
  22. Когда вы закончите экспериментировать с прокруткой, изменением размера и сортировкой элемента управления DataGrid, щелкните на кнопке Закрыть формы, чтобы остановить программу. Программа закроется, и вернется среда разработки.
< Лекция 20 || Лекция 21: 123 || Лекция 22 >
Жанболат Шаймерден
Жанболат Шаймерден

Можно ли выбирать язык для надписей и команд в среде разработки?

Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989
Светлана Ведяева
Светлана Ведяева
Россия, Саратов