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

Обновление dataGridView

21.06.2024, 13:30. Показов 1308. Ответов 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
13387 / 7839 / 1698
Регистрация: 25.05.2015
Сообщений: 23,843
Записей в блоге: 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
13387 / 7839 / 1698
Регистрация: 25.05.2015
Сообщений: 23,843
Записей в блоге: 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
13387 / 7839 / 1698
Регистрация: 25.05.2015
Сообщений: 23,843
Записей в блоге: 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
13387 / 7839 / 1698
Регистрация: 25.05.2015
Сообщений: 23,843
Записей в блоге: 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
13387 / 7839 / 1698
Регистрация: 25.05.2015
Сообщений: 23,843
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы Кратко. . .
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем **Полевые заметки о двухнедельной совместной работе**. . .
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru