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

Заполнение DataGridView не стирая заполненных данных

24.12.2016, 09:37. Показов 938. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!Столкнулся с такой проблемой:при заполнении таблицы DataGridView из файла, она стирает данные, которые уже находятся в ней. А это не очень удобно. Вот код:

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
private void OpenBaseTab(DataGridView a)
        {
            Stream mystr = null;
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
 
                if ((mystr = openFileDialog1.OpenFile()) != null)
                {
                    StreamReader myread = new StreamReader(mystr);
                    string[] str;
                    int num = 0;
 
                    try
                    {
                        string[] str1 = myread.ReadToEnd().Split('\n');
                        num = str1.Count();
 
                        a.RowCount = num;
 
                        for (int i = 0; i < num; i++)
                        {
                            str = str1[i].Split('@');
                            for (int j = 0; j < a.ColumnCount; j++)
                            {
                                try
                                {
                                    a.Rows.Add(a.Rows[i].Cells[j].Value = str[j]);
 
                                }
                                catch { }
 
                            }
                        }
 
                    }
 
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    finally
                    {
                        myread.Close();
                    }
                }
            }
        }
Спасибо помощь.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.12.2016, 09:37
Ответы с готовыми решениями:

Заполнение dataGridView из базы данных
Всем привет! Подключаюсь к базе данных в которой 2 таблицы. Нужно заполнить dataGrid1 и dataGrid2 значениями из таблиц table1 и table2...

Заполнение DataGridView из базы данных SQL
Имеется фрагмент кода.. Как правильно заполнять объект DataSet с помощью SqlDataAdapter, происходит ошибка? Пример взят из книги, но базка...

Заполнение DataGridView из базы данных SQL
Здравствуйте! Такая проблема, есть задача вывести таблицу из базы данных sql в DataGridView в VB NET Код Imports...

3
549 / 480 / 315
Регистрация: 24.09.2013
Сообщений: 3,345
Записей в блоге: 1
24.12.2016, 15:33
А как должно быть, куда вставлять новые данные?
1
0 / 0 / 0
Регистрация: 17.09.2016
Сообщений: 151
25.12.2016, 10:19  [ТС]
Должны добавляться данные в таблицу, не стирая/заменяя того,что находится уже в ней. То есть, у меня есть таблица следующего плана:
Имя Возраст
Иван 20

Я добавляю файл в котором написан Игорь 21, и получаю:
Имя Возраст
Игорь 21

А нужно:
Имя Возраст
Иван 20
Игорь 21
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
25.12.2016, 12:38
Rudy_SRF,
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
 
    List<Data> list = new List<Data>();
    private void Form1_Load(object sender, EventArgs e)
    {
        list.Add(new Data("Иванов", 35));
        list.Add(new Data("Петров", 29));
        UpdateTable();
    }
 
    void AddDataToList(string fileName)
    {
        using (StreamReader reader = new StreamReader(fileName, Encoding.Default))
        {
            while(!reader.EndOfStream)
            {
                string[] line = reader.ReadLine().Split('@');
                list.Add(new Data(line[0], int.Parse(line[1])));
            }
        }
    }
 
    void UpdateTable()
    {
        dataGridView1.DataSource = null;
        dataGridView1.DataSource = list;
        dataGridView1.Columns[0].HeaderText = "Имя";
        dataGridView1.Columns[1].HeaderText = "Возраст";
    }
 
    private void btnAdd_Click(object sender, EventArgs e)
    {
        OpenFileDialog ofd = new OpenFileDialog();
        if (ofd.ShowDialog()==DialogResult.OK)
        {
            AddDataToList(ofd.FileName);
            UpdateTable();
        }
    }
 
}
 
class Data
{
    public string Name { set; get; }
    public int Age { set; get; }
    public Data(string name, int age)
    {
        this.Name = name;
        this.Age = age;
    }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.12.2016, 12:38
Помогаю со студенческими работами здесь

Подсчет заполненных и пустых ячеек в столбце DataGridview
Всем привет! Подскажите как правильно подсчитать кол-во пустых и не пустых ячеек в столбце. Dim y As Integer Dim sum As...

Заполнение данных в dataGridView, которая не привязана к данным
C# исходные данные нужно отображать в dataGridView. Можно ли заполнять их вручную (не программно) в конструкторе формы, если dataGridView...

Заполнение данных в таблицу по имени столбца. (datagridview)
Задача - забить таблицу datagridview данными. В данный момент используется this.Table.Value =... (Table - это datagridview) Есть...

Заполнение dataGridView из отдельного класса, источник данных: *.txt файл
Господа, всем доброго вечера. Появился следующий вопрос. Ранее пробовал заполнять dataGridView из файла *.txt следующим образом: ...

Обновление,заполнение и удаление из DataGridView данных(непонятное с BlindingNavigator и адаптерами таблиц)
Есть на форме 5 DataGridView(каждая в своей вкладке tabpage), образованных в результате перетаскивания из DataSources, куда ранее были...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru