Обновить DataGridView после вставки значений
Однако я не уверен, что это лучший способ обновить DataGridview, поскольку значения были вставлены после нажатия кнопки.
Вот код с рабочим решением повторной привязки источника данных, а затем он обновится:
2 ответа
В вашем коде отсутствует часть, в которой переменная carsBindingSource инициализируется данными. Из вашего ограниченного кода следует отметить, что . если вы добавляете / вставляете новую строку в таблицу в базе данных, то это НЕ будет автоматически обновлять carsBindingSource.
Неизвестно, «что» используется в качестве DataSource для carsBindingSource. ИЛИ, как заполняется этот источник данных. Я предполагаю, что DataSource для BindingSource является DataTable и что где-то в коде он получает это DataTable из запроса к базе данных. Если этого процесса еще нет в одном методе, который возвращает DataTable , то я рекомендую вам создать его, и он может выглядеть примерно так .
Выше будет возвращен DataTable с тремя (3) столбцами: Марка, Модель и Год. Этот DataTable используется как DataSource для BindingSource … carsBindingBource.
Теперь в событии button1_Click код вставляет новые значения в базу данных. Однако carsBindingSource по-прежнему будет содержать данные «до» добавления новых элементов в БД. Следовательно, мы можем просто использовать описанный выше метод для «обновления» carsBindingSource после добавления новых элементов в БД.
Примечание: здесь вы можете пойти двумя путями: 1) как описано выше, просто обновить «все» данные в источнике привязки… ИЛИ… 2) после обновления новых элементов в базе данных, вы также можете добавить новые элементы в источник данных привязки… т.е. его DataTable . Любой из способов будет работать, и я не думаю, что один способ предпочтительнее другого, если не будет большого количества данных.
Ниже показано то, что описано выше. Обратите внимание: закомментированный код добавляет новые элементы непосредственно в DataTable. . Вы можете использовать любой из них, но не оба сразу.
Собираем все вместе…
Надеюсь, это имеет смысл.
Я не думаю, что это возможно. Возможно, вам потребуется создать отдельную кнопку для отправки, а затем обновить данные
Как обновить dataGridView в C#, не закрывая форму?
Если кто сталкивался с этим, подскажите, как обновить dataGridView , не закрывая форму. Вот код программы. Пользователь вводит название в текстовое поле, нажимает кнопку Browse и выбирате изображение. Нажимает кнопку Add и все это добавляет в базу данных. Чтобы отобразились данные в dataGridView , нужно сперва закрыть форму, затем открыть. Как сделать так, чтобы форму не закрывать, а нажать на кнопку Refresh и данные, только что введенные, отобразились в dataGridView . dataGridView1.Refresh() и dataGridView1.Update() не обновляют данные. Подскажите.
C# обновить DataGridView при обновлении или вставке в другую форму
form A позволяет пользователю вставлять и обновлять информацию о студенте.
form b — это только DataGridView и кнопка там.
когда я вставляю студент на form A , тогда я иду в form B , новый студент не отображается в DataGridView, и если я перезапущу программу, новый студент появится в form B .
я попытался использовать эту кнопку on в форме б
но он все еще не работает.
мой код для вставки работника
мой Datagridview1(Form2) не обновляется автоматически, когда я вставил нового работника. Но если я перезапущу приложение, появится новый работник.
6 ответов
затем в форме B определить:
для datagridview в C#, используйте этот код
он работает для отображения новых записей в datagridview.
DataGridView.Refresh и DataGridView.Update — это методы, унаследованные от Control. Они связаны с перерисовкой элемента управления, поэтому новые строки не появляются.
Я предполагаю, что поиск данных находится на Form_Load. Если вы хотите, чтобы ваша кнопка в форме B извлекала последние данные из базы данных, то это то, что вам нужно сделать, что делает Form_Load.
хороший способ сделать это-разделить ваши вызовы извлечения данных на отдельные функция и вызовите ее как из событий загрузки, так и из событий нажатия кнопки.
положить быстрый пример, должен быть достаточной отправной точкой
вы даже можете рассмотреть возможность создания собственного EventArgs класс, который может содержать добавленный данных. Затем вы можете использовать это, чтобы добавить данные в новую строку в datagridview в
для обновления данных gridview в любом месте, где вам просто нужен этот код:
мой datagridview-это режим editonEnter . поэтому он обновляется только после того, как я покидаю ячейку или после повторного посещения и выхода из ячейки дважды.
для запуска этого iimedately . я расфокусируй от управления datagridview . затем переориентировать его.