Перейти к содержимому

Как добавить строку в datagridview

  • автор:

Как добавить строку в datagridview

Как правильно добавить текст введенный в textBox’ы добавить в таблицу — DataGriwView?

Допустим есть два textBox’a и таблица, в один вводим значение для одного столбца, в другой для другого и оно добавляет..

Спросил kiborg
772 дн., 23 час., 18 мин. назад

Новые ответы

Добавить строки в DataGridView можно или программно, воспользовавшись методом Add коллекции строк(свойство DataGridView.Rows (типа DataGridViewRowCollection) обеспечивает доступ к такой коллекции), или подключив к нему некоторый источник данных.

Метод Add() имеет четыре варианта:

// добавляет одну строку, заполняя ее значениями по умолчанию int Add(); // добавляет одну строку, заполняя ее значениями из массива values int Add(params object[] values); // добавляет несколько строк, заполняя их значениями по умолчанию int Add(int count); // добавляет заранее созданную строку int Add(DataGridViewRow dataGridViewRow); 

Можно ещё метод Insert() посмотреть.

Использование строки элемента управления DataGridView, предназначенной для ввода новых данных, в Windows Forms

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

Отображение строки для новых записей

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

В случае привязки данных строка для новых записей будет отображаться, если свойство AllowUserToAddRows элемента управления и свойство источника данных IBindingList.AllowNew оба имеют значение true . Если одно из них имеет значение false , строка отображаться не будет.

Заполнение строки для новых записей данными по умолчанию

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

Это событие предоставляет доступ к новому элементу DataGridViewRow и позволяет заполнять новую строку данными по умолчанию. Дополнительные сведения см. в статье Практическое руководство. Определение значений по умолчанию для новых строк элемента управления DataGridView в Windows Forms.

Коллекция строк

Строка для новых записей содержится в коллекции Rows элемента управления DataGridView, но ведет себя по-разному в двух отношениях:

  • Строку для новых записей невозможно удалить из коллекции Rows программным способом. При попытке такого удаления возникает исключение InvalidOperationException. Пользователь также не может удалить строку для новых записей. Метод DataGridViewRowCollection.Clear не удаляет эту строку из коллекции Rows.
  • После строки для новых записей невозможно добавить другие строки. При попытке возникает исключение InvalidOperationException. В результате строка для новых записей всегда является последней строкой в элементе управления DataGridView. Методы в DataGridViewRowCollection добавления строк (Add, AddCopy и AddCopies) вызывают методы вставки внутренним образом при наличии строки для новых записей.

Визуальная настройка строки для новых записей

Создаваемая для новых записей строка основывается на строке, указанной свойством RowTemplate. Все стили ячеек, которые не указаны для этой строки, наследуются от других свойств. Дополнительные сведения о наследовании стилей ячеек см. в разделе Стили ячеек элемента управления DataGridView в Windows Forms.

Начальные значения, отображаемые ячейками в строке для новых записей, извлекаются из свойства DefaultNewRowValue каждой ячейки. Для ячеек типа DataGridViewImageCell это свойство возвращает изображение заполнителя. В противном случае это свойство возвращается null . Это свойство можно переопределить, чтобы возвращать пользовательское значение. Однако эти начальные значения можно заменить обработчиком событий DefaultValuesNeeded, когда фокус переходит в строку для новых записей.

Стандартные значки для заголовка этой строки (стрелка или звездочка), не являются общедоступными. Чтобы настроить значки, необходимо создать пользовательский класс DataGridViewRowHeaderCell.

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

Если в ячейке заголовка строки задано строковое значение, и если для текста и значка недостаточно места, сначала удаляется значок.

Сортировка

В не привязанном режиме новые записи всегда будут добавляться в конец DataGridView, даже если пользователь отсортировал содержимое DataGridView. Пользователю потребуется снова применить сортировку, чтобы отсортировать строку в нужное положение. Это поведение аналогично поведению элемента управления ListView.

В режиме привязки к данными и виртуальном режиме поведение вставки при применении сортировки будет зависеть от реализации модели данных. В ADO.NET строка немедленно сортируется в правильное положение.

Другие примечания о строке для новых записей

Свойству Visible этой строки невозможно задать значение false . При попытке возникает исключение InvalidOperationException.

Строка для новых записей всегда создается в невыбранном состоянии.

Виртуальный режим

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

См. также

  • DataGridView
  • DataGridView.DefaultValuesNeeded
  • Ввод данных с помощью элемента управления DataGridView в Windows Forms
  • Практическое руководство. Определение значений по умолчанию для новых строк элемента управления DataGridView в Windows Forms

Совместная работа с нами на GitHub

Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.

Добавление новых строк в DataGridView

введите сюда описание изображения

WinForm . Есть DataGridView не привязаный к DataSource .
Руками добавляю в него строку: Почему появляется внизу пустая строка со звездочкой? Я так понимаю, это для добавления новой строки. Но почему грид считает что это «живая» строка? В отладке её видно.
Как от нее избавиться и не потерять возможность добавления строк?

Отслеживать
51.6k 201 201 золотой знак 63 63 серебряных знака 245 245 бронзовых знаков
задан 22 мар 2018 в 23:10
179 1 1 серебряный знак 17 17 бронзовых знаков

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

За наличие этой строки отвечает свойство DataGridView.AllowUserToAddRows . Избавиться от этой строки и не потерять возможность добавления строк можно путем установки значения этого свойства в false и реализовав добавление строк, например, при нажатии на кнопку. Про программное добавление строк можно почитать тут, а также тут и тут (первые ссылки в гугле).

Отслеживать
ответ дан 23 мар 2018 в 0:01
727 1 1 золотой знак 11 11 серебряных знаков 31 31 бронзовый знак

  • c#
  • winforms
  • datagridview
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Datagridview добавить новую строку C#: Инструкция

datarow

DataGridView – это очень мощный и гибкий инструмент, который используется в Windows Forms для отображения данных в табличном виде. В этой статье мы разберемся, как добавить новую строку в DataGridView в C#.

Содержание показать

Шаг 1: Создание проекта и DataGridView

Для начала создадим простое Windows Forms приложение в Visual Studio:

  1. Создайте новый проект Windows Forms в Visual Studio.
  2. Перетащите компонент DataGridView на форму из панели инструментов (Toolbox).
  3. Настройте DataGridView, чтобы показать некоторые базовые столбцы, с которыми мы будем работать. Это можно сделать в дизайнере, задав свойство Columns .

Шаг 2: Подготовка данных

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

public Form1() < InitializeComponent(); // Настройка столбцов dataGridView1.ColumnCount = 3; dataGridView1.Columns[0].Name = "ID"; dataGridView1.Columns[1].Name = "Имя"; dataGridView1.Columns[2].Name = "Возраст"; // Добавление строк string[] row1 = new string[] < "1", "Иван", "30" >; string[] row2 = new string[] < "2", "Мария", "24" >; dataGridView1.Rows.Add(row1); dataGridView1.Rows.Add(row2); > 

Шаг 3: Добавление новой строки

Теперь, когда у нас есть DataGridView с данными, давайте добавим возможность вставки новых строк.

Вариант 1: Вставка напрямую через пользовательский интерфейс

Если свойство AllowUserToAddRows DataGridView установлено в true (что является значением по умолчанию), пользователи могут добавлять строки напрямую через интерфейс DataGridView.

Вариант 2: Добавление строки программно

Чтобы добавить строку программно, используйте метод Rows.Add() .

private void AddRowButton_Click(object sender, EventArgs e) < // Создаем новый массив с данными для строки string[] newRow = < "3", "Алексей", "28" >; // Добавляем строку в DataGridView dataGridView1.Rows.Add(newRow); > 

Этот код можно привязать к событию нажатия кнопки, чтобы добавлять данные в DataGridView по мере необходимости.

Шаг 4: Обновление и сохранение данных

После добавления новой строки, вы можете захотеть обновить исходный источник данных или сохранить эту строку в базе данных. Это зависит от вашей архитектуры и требований к данным. Если вы используете привязку к источнику данных (например, к BindingList или DataTable), DataGridView автоматически отразит изменения в этих данных.

Заключение

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *