Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 05.10.2023
Сообщений: 116

Обновление dataGridView

21.06.2024, 13:30. Показов 1353. Ответов 29

Студворк — интернет-сервис помощи студентам
Здравствуйте, хочу после добавления записи в таблицу обновить dataGridView. Добавление показывается после нового запуска программы.

C#
1
2
3
4
5
6
7
8
9
private void buttonInsert_Click(object sender, EventArgs e)
{
    SecondForm dlg = new SecondForm();
    if (P.a)
        dlg.ShowDialog();
    this.dataGridView1.Refresh();   
    //this.dataGridView1.Update();
    //data_show();
}
this.dataGridView1.Refresh(); и this.dataGridView1.Update(); не помогают, скорее всего из-за моего формирования.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
private void data_show()
{
    P.MyConnection.Open();
    string stm = "SELECT name_project_title,number_channels FROM project_title";
    var cmd = new SQLiteCommand(stm, P.MyConnection);
    rdr=cmd.ExecuteReader();
    while( rdr.Read()) {
        dataGridView1.Rows.Insert(0, rdr["name_project_title"].ToString() , rdr["number_channels"].ToString());
    }
    try
    {
        dataGridView1.CurrentCell = dataGridView1[0, 0];   /*курсор*/
    }
    catch (Exception ex)
    {
 
    }
    P.MyConnection.Close();
}

если я заново ссылаюсь при закрытии формы добавления на data_show(); , то дублируется первая запись



как правильно поступить?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.06.2024, 13:30
Ответы с готовыми решениями:

Обновление DataGridView
Доброго времени суток! Помогите с курсовой. У меня есть 2 формы. 1. Автомобиль 2. Штрафы Есть общий столбец "ИИН...

Обновление dataGridView
имеется класс public class Item { public string name { get; private set; } public int...

Обновление DataGridView
Доброго времени суток. Дело в том, что у меня не получается обновить DataGridView из другой формы. Начну с того, что у меня есть 2 формы....

29
0 / 0 / 0
Регистрация: 05.10.2023
Сообщений: 116
24.06.2024, 11:26  [ТС]
Студворк — интернет-сервис помощи студентам
Rius, спасибо большое, буду разбираться, так как все равно дублируются записи)

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 DataSet ds = new DataSet();
 DataTable tbl;
 public MainForm()
 {
     InitializeComponent();
     tbl = ds.Tables.Add("project_title");
     //tbl.Columns.Add("Название проекта");
     //tbl.Columns.Add("Количество каналов");
     //tbl.Columns.Add("Доля безопасности");
     data_show();
 }
 
 private void data_show()
 {
     //dataGridView1.DataSource = null;
     P.MyConnection.Open();
     var cmd = new SQLiteCommand("SELECT name_project_title,number_channels FROM project_title", P.MyConnection);
     var adapter = new SQLiteDataAdapter(cmd);
     adapter.Fill(tbl);
     dataGridView1.DataSource = tbl;
     P.MyConnection.Close();
 }
 private void buttonInsert_Click(object sender, EventArgs e)
 {
     SecondForm dlg = new SecondForm();
     if (P.a)
         dlg.ShowDialog();
     data_show();
 }
0
Эксперт .NET
 Аватар для Rius
13844 / 7886 / 1706
Регистрация: 25.05.2015
Сообщений: 23,932
Записей в блоге: 14
24.06.2024, 11:29
Дублироваться будут, когда движок не знает, какой столбец является primary key.

Добавлено через 29 секунд
См. строки 20-22 в 20 посте.
0
0 / 0 / 0
Регистрация: 05.10.2023
Сообщений: 116
24.06.2024, 11:49  [ТС]
Rius,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public MainForm()
{
    InitializeComponent();
    tbl = ds.Tables.Add("project_title");
    var columnId = tbl.Columns.Add("id", typeof(long));
    columnId.AutoIncrement = true;
    columnId.Unique = true;
    tbl.PrimaryKey = new DataColumn[] { columnId };
 
    data_show();
}
 
private void data_show()
{
    P.MyConnection.Open();
    var cmd = new SQLiteCommand("SELECT name_project_title,number_channels FROM project_title", P.MyConnection);
    var adapter = new SQLiteDataAdapter(cmd);
    adapter.Fill(tbl);
    dataGridView1.DataSource= tbl;
    P.MyConnection.Close();
}
private void buttonInsert_Click(object sender, EventArgs e)
{
    SecondForm dlg = new SecondForm();
    if (P.a)
        dlg.ShowDialog();
    data_show();
}
да, там моя оплошность

но я думаю при добавлении в другой форме что-то не так делаю, что
C#
1
2
var adapter = new SQLiteDataAdapter(cmd);
adapter.Fill(tbl);
не может понять,что надо обновить
[B]

добавила это и заработало))
private void data_show()
{
tbl.Clear();
Миниатюры
Обновление dataGridView   Обновление dataGridView  
0
Эксперт .NET
 Аватар для Rius
13844 / 7886 / 1706
Регистрация: 25.05.2015
Сообщений: 23,932
Записей в блоге: 14
24.06.2024, 11:57
Цитата Сообщение от OdinNastya Посмотреть сообщение
var cmd = new SQLiteCommand("SELECT name_project_title,number_channels FROM project_title", P.MyConnection)
А id почему не выбираете?

Добавлено через 32 секунды
Цитата Сообщение от OdinNastya Посмотреть сообщение
добавила это и заработало))
private void data_show()
{
tbl.Clear();
Нет. Вам кажется.
0
0 / 0 / 0
Регистрация: 05.10.2023
Сообщений: 116
24.06.2024, 12:09  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
А id почему не выбираете?
так я хочу брать поля, которые хочу показать
в виртуальной таблице для dgv я думала он нужен,чтобы там хауса не было.
в SQLite таблица создана и первичный ключ установлен на id


Цитата Сообщение от Rius Посмотреть сообщение
Нет. Вам кажется.
)))
может это и не правильно,я не претендую)))
Миниатюры
Обновление dataGridView   Обновление dataGridView  
0
Эксперт .NET
 Аватар для Rius
13844 / 7886 / 1706
Регистрация: 25.05.2015
Сообщений: 23,932
Записей в блоге: 14
24.06.2024, 12:11
Цитата Сообщение от OdinNastya Посмотреть сообщение
так я хочу брать поля, которые хочу показать
Надо брать все, что используются, включая ключевые.
А показывать или нет - настраивается в самом datagridview.
0
0 / 0 / 0
Регистрация: 05.10.2023
Сообщений: 116
24.06.2024, 12:14  [ТС]
все, теперь понятно полностью)
убрала ту строчку,вывела id и заработало.Спасибо большое)))
0
Эксперт .NET
 Аватар для Rius
13844 / 7886 / 1706
Регистрация: 25.05.2015
Сообщений: 23,932
Записей в блоге: 14
24.06.2024, 12:17
А так можно добавить столбцы для явного вывода
C#
1
2
3
4
5
6
7
            dataGridView1.Columns.Clear();
            dataGridView1.AutoGenerateColumns = false;
            dataGridView1.Columns.Add(new DataGridViewTextBoxColumn() {
                AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells,
                DataPropertyName = "value",
                HeaderText = "Значение"
            });
Либо через настройку datagridview в дизайнере.
0
0 / 0 / 0
Регистрация: 05.10.2023
Сообщений: 116
24.06.2024, 12:54  [ТС]
Rius, прописала в коде, получилось)
спасибо большое за помощь!)


я думаю, лучше же через настройку dGV не делать,а через код (для будущего)?
0
Эксперт .NET
 Аватар для Rius
13844 / 7886 / 1706
Регистрация: 25.05.2015
Сообщений: 23,932
Записей в блоге: 14
24.06.2024, 13:02
Без разницы.
В коде удобно, если есть повторяющиеся настройки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.06.2024, 13:02

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

Обновление информации в DataGridView
Всем привет, я новичок в c#. У меня есть Datagridview в которую я подключил таблицу, подскажите пожалуйста как сделать что бы информация...

Обновление элемента DataGridView
Здравствуйте, коллеги! Разбираюсь с базами. Возник вопрос обновления DataGridView элемента. Я делаю это путём удаления построчно. При...

Обновление данных datagridview
Здравствуйте! Есть небольшое приложение Windows Forms которое работает с базой данных. Я реализовал добавление, обновление, удаление данных...

Обновление данных в datagridview
Всем привет! Сделал обновление данных в DataGridView следующим образом: BindingSource bs = null; bs = BindingSource {DataSource =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru