Данный материал является приложением к книге "С# 2008 и платформа .NET 3.5 для профессионалов" (Кристиан Нейгел) , и найден в свободных источниках.Эта глава основана на материалах главы 26, в которой описаны различные способы извлечения и изменения данных, и посвящена представлению данных для пользователей с привязкой данных к различным элементам управления Windows. Точнее говоря, здесь будут обсуждаться следующие вопросы:Отображение данных с помощью элемента управления DataGridView;Возможности привязки данных .NET и как они работают;Как использовать проводник по серверу Server Explorer для создания соединения и генерации класса DataSet (не написав ни единой строки кода);Как использовать проверку попаданий и рефлексию строк DataGrid.Фрагменты из учебника:Элемент управления DataGridView:Элемент управления DataGrid, доступный начиная с ранних выпусков .NET, был вполне функциональным, но имел множество недоработок, которые делали его неподходящим для применения в коммерческих приложениях, например, отсутствовала возможность вывода графических изображений и раскрывающихся элементов, блокировка столбцов и тому подобное. Этот элемент управления был не вполне полноценным, поэтому многие независимые поставщики предлагали собственные сеточные компоненты, которые компенсировали эти недостатки и представляли гораздо более широкую функциональность.В .NET 2.0 появился дополнительный сеточный элемент управления DataGridView. Он восполнил многие недостатки своего предшественника и добавил важную функ- циональность, которая до этого была реализована лишь в продуктах независимых поставщиков.Этот элемент оснащен такими же средствами привязки данных, как и старый DataGrid, а потому может работать совместно с классами Array, DataTable, DataView или DataSet либо компонентами, реализующими интерфейс IListSource или IList. Эле- мент управления DataGridView обеспечивает возможности разнообразного представления одних и тех же данных. В простейшем случае отображаемые данные (такие как из DataSet) указываются установкой значений свойств DataSource и DataMember. Отметим, что этот элемент управления не может подставляться вместо DataGrid, потому что его программный интерфейс полностью отличается от интерфейса DataGrid. К тому же он предлагает более широкие возможности, о которых мы и поговорим в этой главе.Отображение табличных данных:Следующий пример демонстрирует, как извлечь данные и отобразить их в элементе управления DataGridView. Для этой цели мы создадим новое приложение DisplayTabularData, внешний вид которого показан на следующем рисунке:Это простое приложение выбирает каждую запись из таблицы Customer базы данных Northwind и отображает эти записи пользователю в элементе управления DataGridView. Ниже показан код этого примера (исключая код определения формы и элемента управления). Codeusing System; using System.Configuration; using System.Data; using System.Data.Common; using System.Data.SqlClient; using System.Windows.Forms; namespace DisplayTabularData { partial class Form1: Form { public Form1() { InitializeComponent(); } private void getData_Click(object sender, EventArgs e) { string customers = "SELECT * FROM Customers"; using (SqlConnection con = new SqlConnection (ConfigurationManager. ConnectionStrings["northwind"].ConnectionString)) { DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(customers, con); da.Fill(ds, "Customers"); dataGridView.AutoGenerateColumns = true; dataGridView.DataSource = ds; dataGridView.DataMember = "Customers"; } } } }Форма состоит из кнопки getData, в результате щелчка на которой вызывается метод getData_Click(), показанный в коде примера.При этом конструируется объект SqlConnection, использующий свойство ConnectionStrings класса ConfigurationManager. Далее создается набор данных и заполняется на основе таблицы базы данных с помощью объекта DataAdapter. Затем эти данные отображаются элементом управления DataGridView за счет установки свойств DataSource и DataMember.Отметим, что свойству AutoGenerateColumns также присваивается значение true, поскольку это гарантирует, что пользователь что-то увидит. Если этот флаг не установлен, все столбцы придется создавать самостоятельно.Источники данных:Элемент управления DataGridView предлагает гибкий способ отображения данных; в дополнение к установке DataSource равным DataSet, а DataMember равным имени отображаемой таблицы, свойство DataSource может указывать на любой из следующих источников:массив (визуальная таблица может быть связана с любым одномерным массивом);DataTable;DataView;DataSet или DataViewManager;компоненты, реализующие интерфейс IListSource;компоненты, реализующие интерфейс IList;любой обобщенный класс коллекции или объект, унаследованный от обобщенного класса коллекции.В последующих разделах будут представлены примеры применения каждого из
[ (1.62Mb) - бесплатно]
Привязка данных (таблицы в Windows forms C#), виджет DataGridView
Неофициальный сайт факультета ВолгГТУ
Факультет электроники и вычислительной техники
Привязка данных (таблицы в Windows forms C#), виджет DataGridView | C#
Комментариев нет:
Отправить комментарий