Visual studio windows forms datagridview

C#: DataGridView и примеры работы с ним

Сегодня я решил написать Вам о том, как работать с элементом управления DataGridView в языке программирования C#.
DataGridView — очень мощный инструмент для работы с данными. Он очень гибок и позволяет автоматизировать вывод информации. Я постараюсь рассказать Вам о базовой работе с данным элементом, а так же привести пример автоматизации обновления данных в таблице.

Для тех, кто не знает о элементе управления DataGridView — скажу что данный контрол позволяет вывести таблицу с данными в Вашей программе. Данный элемент управления имеет огромное число настроек. Благодаря этому Вы скорей всего сможете подстроить внешний вид таблицы так, как Вам нужно. Все настройки доступны в панели свойств элемента в Visual Studio. Я буду задавать свойства нашего элемента пряма в коде, для большей наглядности.

И так создадим новый проект WinForms и добавим на форму элемент DataGridView. При добавлении элемента DataGridView появляется окно, где можно указать источник данных для нашей таблицы. Просто закроем данное окно. Перейдем в событие загрузки формы и зададим шапку для нашей таблицы.

В целом это и есть базовая работа с элементом DataGridView. По сути мы имеем работу с матрицей (двумерным массивом). Давайте теперь рассмотрим базовый вариант автоматизации обновления данных в таблице — механизм привязки (Binding).
Для этого создадим класс, который будет играть роль одной строки. Т.е. по сути нам нужно создать класс, описывающий колонки нашей таблицы.

Теперь мы можем написать следующий код в событии формы OnLoad:

Как привязать данные к элементу управления Windows Forms DataGridView How to: Bind data to the Windows Forms DataGridView control

DataGridViewЭлемент управления поддерживает стандартную модель привязки данных Windows Forms, поэтому она может выполнять привязку к различным источникам данных. The DataGridView control supports the standard Windows Forms data binding model, so it can bind to a variety of data sources. Как правило, привязка выполняется к элементу BindingSource , который управляет взаимодействием с источником данных. Usually, you bind to a BindingSource that manages the interaction with the data source. BindingSourceМожет быть любым Windows Formsным источником данных, что обеспечивает большую гибкость при выборе или изменении расположения данных. The BindingSource can be any Windows Forms data source, which gives you great flexibility when choosing or modifying your data’s location. Дополнительные сведения о том, какие источники данных DataGridView поддерживает элемент управления, см. в разделе Общие сведения об элементе управления DataGridView. For more information about data sources the DataGridView control supports, see the DataGridView control overview.

Visual Studio обладает расширенной поддержкой привязки данных к элементу управления DataGridView. Visual Studio has extensive support for data binding to the DataGridView control. Дополнительные сведения см. в разделе инструкции. Привязка данных к элементу управления Windows Forms DataGridView с помощью конструктора. For more information, see How to: Bind data to the Windows Forms DataGridView control using the Designer.

Подключение элемента управления DataGridView к данным: To connect a DataGridView control to data:

Реализуйте метод для управления деталями извлечения данных. Implement a method to handle the details of retrieving the data. В следующем примере кода реализуется GetData метод, который инициализирует SqlDataAdapter и использует его для заполнения DataTable . The following code example implements a GetData method that initializes a SqlDataAdapter, and uses it to populate a DataTable. Затем он привязывает DataTable к BindingSource . It then binds the DataTable to the BindingSource.

В Load обработчике событий формы привяжите DataGridView элемент управления к BindingSource и вызовите GetData метод для получения данных. In the form’s Load event handler, bind the DataGridView control to the BindingSource, and call the GetData method to retrieve the data.

Читайте также:  Linux как форматировать внешний жесткий диск

Пример Example

Этот полный пример кода извлекает данные из базы данных для заполнения элемента управления DataGridView в форме Windows Forms. This complete code example retrieves data from a database to populate a DataGridView control in a Windows form. Форма также содержит кнопки для перезагрузки данных и отправки изменений в базу данных. The form also has buttons to reload data and submit changes to the database.

Для этого примера требуются: This example requires:

Доступ к образцу базы данных Northwind SQL Server. Access to a Northwind SQL Server sample database. Дополнительные сведения об установке образца базы данных Northwind см. в статье получение образцов баз данных для ADO.NET кода. For more information about installing the Northwind sample database, see Get the sample databases for ADO.NET code samples.

Ссылки на системные сборки, System. Windows. Forms, System. Data и System.Xml. References to the System, System.Windows.Forms, System.Data, and System.Xml assemblies.

Чтобы выполнить сборку и запуск этого примера, вставьте код в файл кода Form1 в новом Windows Forms проекте. To build and run this example, paste the code into the Form1 code file in a new Windows Forms project. Сведения о построении из командной строки C# или Visual Basic см. в разделе Построение из командной строки с помощью csc.exe или Сборка из командной строки. For information about building from the C# or Visual Basic command line, see Command-line building with csc.exe or Build from the command line.

Заполните connectionString переменную в примере значениями для образца подключения к базе данных Northwind SQL Server. Populate the connectionString variable in the example with the values for your Northwind SQL Server sample database connection. Проверка подлинности Windows, называемая также встроенной безопасностью, является более безопасным способом подключения к базе данных, чем сохранение пароля в строке подключения. Windows Authentication, also called integrated security, is a more secure way to connect to the database than storing a password in the connection string. Дополнительные сведения о безопасности подключения см. в разделе Защита сведений о подключении. For more information about connection security, see Protect connection information.

Visual studio windows forms datagridview

DataGridView — стандартный GUI компонент для отображения и редактирования таблиц. Здесь коротко рассмотрены основные моменты работы с этим классом.

Перекиньте стандартным способом в форму компонент DataGridView.

Источник данных при создании можно не указывать, так как DataGridView позволяет хранить данные внутри себя и добавлять/удалять их на лету, во время выполнения (runtime). После этого редактором свойств настройте поведение по умолчанию нового экземпляра DataGridView. Я обычно меняю свойства AllowUserToAddRows на false, AllowUserToDeleteRows на false, ReadOnly на true. Можно также переименовать экземпляр из dataGridView1 в что-нибудь более осмысленное, подходящее для Вашей программы.

Добавление строк и столбцов. Столбцы и строки можно добавлять во время выполнения программы (подробнее см. [1]). Пример добавления строк:

Однако если назначение и структура таблицы (количество и наименование столбцов) известны заранее, то можно редактором свойств добавить столбцы. Для этого редактируют свойство Columns.

Стиль текста заголовка. Пример, как можно установить жирный шрифт в заголовке таблицы:

Как поменять цвет фона заголовка и цвет шрифта:

Работа с ячейками. Обращение к ячейкам DataGridView довольно простое. Индексация столбцов (Columns) и строк (Rows) идет относительно нуля. Столбец с индексом 0 самый левый, и строка с индексом 0 самая верхняя. Количество строк можно получить через свойство RowCount. Добавляются строки методом Удаляются строки методом Rows->Add(), удаляются методом Rows->RemoveAt(номер строки). Пример добавления и удаления строк:

Более простой способ удаления строк:

Текущая строка. Узнать номер текущей строки можно через HitTestInfo->RowIndex:

Установить (поменять) текущую строку можно через свойство CurrentCell (в примере устанавливаем третью текущую строку):

Текущая строка помечена в таблице треугольничком:

Читайте также:  Xeox sl 4446 bk 01 windows 10

Вид таблицы после отмены выделения текущей ячейки:

Изменение данных в ячейках. Менять данные в ячейках таблицы можно только тогда, когда существуют соответствующий столбец и соответствующая строка, иначе произойдет ошибка выполнения («System.ArgumentOutOfRangeException» произошло в mscorlib.dll Дополнительные сведения: Индекс за пределами диапазона. Индекс должен быть положительным числом, a его размер не должен превышать размер коллекции.). После добавления строки методом Add все значения в ячейках добавленной строки будут пустые. К ячейке таблицы можно обращаться по номеру столбца и номеру строки через свойство Value.

Пример добавления строк и заполнения таблицы:

Стиль, цвет текста. Внешний вид текста в ячейке можно менять через свойство Style. Пример изменения цвета нужной ячейки на C#:

Пример изменения шрифта ячейки на жирный:

Как обращаться к столбцам не по их индексу, а по имени? Нумерация строк и столбцов начинается с нуля, и когда нам нужно обратиться к конкретной ячейке строки, то это можно сделать через числовой индекс: Rows[индексстроки].Cells[индексстолбца]. Однако есть удобная возможность получить индекс столбца по имени типа столбца:

В этом примере УровеньУст и УровеньСчит — типы столбцов, которые были установлены во время компиляции визуальным редактированием свойства Columns таблицы dgv. Используется свойство Index этих типов.

Клик на заголовке строки. Обработка клика на заголовке строки на C#:

Как удалить последнюю пустую строку?

Ответ: после манипуляции со строками и добавления новых строк установите в false свойство AllowUserToAddRows :

элемент управления DataGridView (Windows Forms) DataGridView Control (Windows Forms)

Элемент управления DataGridView предоставляет мощный и гибкий способ отображения данных в табличном формате. The DataGridView control provides a powerful and flexible way to display data in a tabular format. Элемент управления DataGridView можно использовать для отображения представлений небольшого объема данных только для чтения, либо можно масштабировать его для отображения редактируемого представления очень больших наборов данных. You can use the DataGridView control to show read-only views of a small amount of data, or you can scale it to show editable views of very large sets of data.

Для того чтобы реализовать пользовательское поведение в приложениях, элемент управления DataGridView можно расширить несколькими способами. You can extend the DataGridView control in a number of ways to build custom behaviors into your applications. Например, можно программно задать собственные алгоритмы сортировки, можно создать собственные типы ячеек. For example, you can programmatically specify your own sorting algorithms, and you can create your own types of cells. Внешний вид элемента управления DataGridView легко настраивается заданием значений нескольких свойств. You can easily customize the appearance of the DataGridView control by choosing among several properties. В качестве источника данных могут использоваться хранилища данных различных типов, также элемент управления DataGridView может работать без привязанного к нему источника данных. Many types of data stores can be used as a data source, or the DataGridView control can operate with no data source bound to it.

В подразделах данного раздела описываются принципы и методы применения возможностей DataGridView в приложениях. The topics in this section describe the concepts and techniques that you can use to build DataGridView features into your applications.

в этом разделе In This Section

Общие сведения об элементе управления DataGridView DataGridView Control Overview
Содержит разделы с описанием назначения и основных понятий элемента управления DataGridView Windows Forms. Provides topics that describe the architecture and core concepts of the Windows Forms DataGridView control.

Стандартная функциональность элемента управления DataGridView в Windows Forms Default Functionality in the Windows Forms DataGridView Control
Описание внешнего вида и поведения элемента управления DataGridView Windows Forms по умолчанию, когда он привязан к источнику данных. Describes the default appearance and behavior of the Windows Forms DataGridView control when it is bound to a data source.

Типы столбцов элемента управления DataGridView в Windows Forms Column Types in the Windows Forms DataGridView Control
Описание типов столбцов элемента управления DataGridView Windows Forms, используемых для отображения данных, и разрешения пользователям изменять или добавлять данные. Describes the column types in the Windows Forms DataGridView control used to display data and allow users to modify or add data.

Читайте также:  Linux permissions to mount

Базовое форматирование и оформление элемента управления DataGridView в Windows Forms Basic Formatting and Styling in the Windows Forms DataGridView Control
Разделы, описывающие способы изменения базового внешнего вида элемента управления и форматирования отображаемых данных ячейки. Provides topics that describe how to modify the basic appearance of the control and the display formatting of cell data.

Отображение данных с помощью элемента управления DataGridView в Windows Forms Displaying Data in the Windows Forms DataGridView Control
Разделы, описывающие заполнение элемента управления данными вручную или из внешнего источника данных. Provides topics that describe how to populate the control with data either manually, or from an external data source.

Изменение размера столбцов и строк элемента управления DataGridView в Windows Forms Resizing Columns and Rows in the Windows Forms DataGridView Control
Разделы, описывающие автоматическую корректировку размера строк и столбцов в соответствии с содержимым ячейки или доступной шириной элемента управления. Provides topics that describe how the size of rows and columns can be adjusted automatically to fit cell content or to fit the available width of the control.

Сортировка данных в элементе управления DataGridView в Windows Forms Sorting Data in the Windows Forms DataGridView Control
Разделы, описывающие возможности сортировки в элементе управления. Provides topics that describe the sorting features in the control.

Ввод данных с помощью элемента управления DataGridView в Windows Forms Data Entry in the Windows Forms DataGridView Control
Разделы, в которых описывается изменение способов добавления и изменения данных в элементе управления. Provides topics that describe how to change the way users add and modify data in the control.

Выделение данных и операции с буфером обмена в элементе управления DataGridView в Windows Forms Selection and Clipboard Use with the Windows Forms DataGridView Control
Разделы, описывающие возможности выбора ячеек, строк и столбцов в элементе управления. Provides topics that describe the cell, row, and column selection features in the control.

Настройка элементов управления DataGridView в Windows Forms Customizing the Windows Forms DataGridView Control
Разделы, описывающие пользовательскую отрисовку ячеек и строк DataGridView , а также создание производных ячеек, столбцов и типов строк. Provides topics that describe custom painting DataGridView cells and rows, and creating derived cell, column, and row types.

Оптимизация производительности элемента управления DataGridView в Windows Forms Performance Tuning in the Windows Forms DataGridView Control
Разделы, описывающие, как эффективно использовать элемент управления, чтобы избежать снижения производительности при работе с большими объемами данных. Provides topics that describe how to use the control efficiently to avoid performance problems when working with large amounts of data.

Выполняемая по умолчанию обработка событий мыши и клавиатуры элементом управления DataGridView в Windows Forms Default Keyboard and Mouse Handling in the Windows Forms DataGridView Control
Описание способов взаимодействия пользователей с элементом управления DataGridView посредством клавиатуры и мыши. Describes how users can interact with the DataGridView control through a keyboard and a mouse.

Различия элементов управления DataGridView и DataGrid в Windows Forms Differences Between the Windows Forms DataGridView and DataGrid Controls
Описывает расширение возможностей и улучшения элемента управления DataGridView , который заменяет элемент управления DataGrid. Describes how the DataGridView control improves upon and replaces the DataGrid control.

Справочник Reference

DataGridView
Справочная документация по элементу управления DataGridView. Provides reference documentation for the DataGridView control.

BindingSource
Содержит справочную документацию по компоненту BindingSource. Provides reference documentation for the BindingSource component. Элемент управления DataGridView и компонент BindingSource предназначены для совместной работы. The DataGridView control and the BindingSource component are designed to work closely together.

Оцените статью