Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/64: Рейтинг темы: голосов - 64, средняя оценка - 4.80
 Аватар для vladis23
13 / 13 / 10
Регистрация: 25.05.2015
Сообщений: 554

Добавление записи DataGridView

18.02.2018, 20:59. Показов 12697. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, может кто нибудь подсказать, как исправить добавление записи, а то записи повторяются теже сами
вот код
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
  dataGridView1.Rows.Clear();
            DataGridViewTextBoxColumn col0 = new DataGridViewTextBoxColumn();
            DataGridViewTextBoxColumn col1 = new DataGridViewTextBoxColumn();
            DataGridViewTextBoxColumn col2 = new DataGridViewTextBoxColumn();
 
            //Добавление столбцов
            dataGridView1.Columns.Add(col0);
            dataGridView1.Columns.Add(col1);
            dataGridView1.Columns.Add(col2);
 
            DataGridViewCell cel0 = new DataGridViewTextBoxCell();
            DataGridViewCell cel1 = new DataGridViewTextBoxCell();
            DataGridViewCell cel2 = new DataGridViewTextBoxCell();
            DataGridViewRow row = new DataGridViewRow();
            if (x1 == 1)
            { 
            cel0.Value = x1.ToString();
        }
             if (x2==1)
            {
                cel0.Value = x2.ToString()+x1.ToString();
            }
            cel1.Value = "Значение12";
            cel2.Value = "Значение13";
            row.Cells.AddRange(cel0, cel1, cel2);
            this.dataGridView1.Rows.Add(row);
            cel0 = new DataGridViewTextBoxCell();
            cel1 = new DataGridViewTextBoxCell();
            cel2 = new DataGridViewTextBoxCell();
            row = new DataGridViewRow();
            cel0.Value = "Значение21";
            cel1.Value = "Значение22";
            cel2.Value = "Значение23";
            row.Cells.AddRange(cel0, cel1, cel2);
            this.dataGridView1.Rows.Add(row);
            
            cel0 = new DataGridViewTextBoxCell();
            cel1 = new DataGridViewTextBoxCell();
            cel2 = new DataGridViewTextBoxCell();
            row = new DataGridViewRow();
            cel0.Value = "Значение31";
            cel1.Value = "Значение32";
            cel2.Value = "Значение33";
            row.Cells.AddRange(cel0, cel1, cel2);
            this.dataGridView1.Rows.Add(row);
            cel0 = new DataGridViewTextBoxCell();
            cel1 = new DataGridViewTextBoxCell();
            cel2 = new DataGridViewTextBoxCell();
            row = new DataGridViewRow();
            cel0.Value = "Значение41";
            cel1.Value = "Значение42";
            cel2.Value = "Значение43";
            row.Cells.AddRange(cel0, cel1, cel2);
            this.dataGridView1.Rows.Add(row);
Хотелось чтобы при нажатии на кнопку не добавлялись еще строки, а оставались теже самыми, только значение менялось
Миниатюры
Добавление записи DataGridView   Добавление записи DataGridView  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.02.2018, 20:59
Ответы с готовыми решениями:

Запрос на добавление в DataGridView записи (бд Access)
У меня не получается создать запрос на добавление в datagridview дробного числа из textBox(кнопка addBtn_Click(). Уже все перепробовала,...

Добавление записи в datagridview через хранимую процедуру
Доброго времени суток:) тестирую уже полдня возможность добавления записи в datagridview:wall: - понял, что проще организовать все в...

При нажатии на одной из записи в первом DataGridView открыть новую форму с другим DataGridView
Здравствуйте,форумчане. Нужна Ваша помощь.Суть такова... у меня есть форма с DataGridView(список товаров) и есть вторая форма с др...

7
3 / 3 / 1
Регистрация: 01.03.2017
Сообщений: 33
19.02.2018, 12:51
Здравствуйте. Почему Вы не используете DataTable?
Тогда можно было бы обновлять в DataTable данные, а DataGridView автоматически бы создал столбцы и строки на основе DataTable.
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
using System.Data;
 
//Например, заполняем DataTable изначально, и выполняем это один раз
DataTable dt = new DataTable();
 
private void FillData()
{
     //СТОЛБЦЫ
     dt.Columns.Add("Имя столбца");
     //Тип столбца - например, typeof(int) - число, если typeof(string) - строка
     dt.Columns.Add("Столбец 2", typeof(string));
     dt.Columns.Add("Столбец 3");
     //СТРОКИ
     dt.Rows.Add(new Object[] { "Строка 0 - Столбец 0", "Строка 0 - Столбец 1" });
     //Присвоение DataTable для компонента DataGridView
     DataGridView.DataSource = dt;
}
 
//Изменить данные (тут модифицируйте функцию под Ваши потребности)
private void ModifyData()
{
        //Где 0 - это индекс строки, а "Имя столбца" - имя, хотя можно использовать и номер столбца
        dt.Rows[0]["Имя столбца"] = "Новые данные";
        //Где 0 - это индекс строки, а 2 - номер столбца, отсчет столбцов идет с 0
        dt.Rows[0][2] = "Новые данные";
        //Сброс источника данных
        DataGridView.DataSource = null;
        //Присвоение источника данных
        DataGridView.DataSource = dt;
}
Добавлено через 7 минут
И добавлю:
Если Вам не нужны будут в отображении заголовки столбцов, то в свойствах DataGridView выставите ColumnHeadersVisible значение false.
И левый фиксированный столбец скрывается также - DataGridView выставите RowHeadersVisible значение false.
0
 Аватар для vladis23
13 / 13 / 10
Регистрация: 25.05.2015
Сообщений: 554
19.02.2018, 14:41  [ТС]
HypSpace, и условия можно создать конкретные чтобы заполнялись определенные числа? и как можно сделать в 1 ячейку только единицы попадались, во 2 ячейку 2 столбца только 2 и так до 12, 3-ки в 3 ячейку, 4-ки в 5 ячейку но если попадается 11 чтоб она записывала именно в ячейку 11 но чтобы она не касалась 1

Добавлено через 9 минут
HypSpace, вот код
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
 int day, year, month;
            day = dateTimePicker1.Value.Day;
            month = dateTimePicker1.Value.Month;
            year = dateTimePicker1.Value.Year;
            // 1 производная
            int x1 = day / 10;
            int x2 = day % 10;
            int x3 = month / 10;
            int x4 = month % 10;
            int x5 = year / 1000;
            int x6 = year % 1000 / 100;
            int x7 = year % 100 / 10;
            int x8 = year % 10;
            int x9 = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8;
            tx9.Text = String.Format("{0}", x9);
            ToolTip t = new ToolTip();
            //  t.SetToolTip(tx9, String.Format("{0}+{1}+{2}+{3}+{4}+{5}+{6}+{7} = {8}", x1, x2, x3, x4, x5, x6, x7, x8, x9));
            t.Show(String.Format("{0}+{1}+{2}+{3}+{4}+{5}+{6}+{7} = {8}", x1, x2, x3, x4, x5, x6, x7, x8, x9), tx9, 0);
            // 2 производная
            int n1 = x9 / 10;
            int n2 = x9 % 10;
            int x10 = n1 + n2;
            tx10.Text = String.Format("{0}", x10);
            // 3 производная
            int x11 = x9 - 2 * x1;
            tx11.Text = String.Format("{0}", x11);
            // 4 производная
            int m1 = x11 / 10;
            int m2 = x11 % 10;
            int x12 = m1 + m2;
            tx12.Text = String.Format("{0}", x12);
            // 5 производная
            int x13 = x9 + x11;
            tx13.Text = String.Format("{0}", x13);
            //6 производная
            int x14 = x10 + x12;
            tx14.Text = String.Format("{0}", x14);
0
3 / 3 / 1
Регистрация: 01.03.2017
Сообщений: 33
19.02.2018, 15:05
Вот сделал пример. Например, создаете определенное кол-во столбцов, а затем строк.
И заполняется, как Вы сказали. Единственное, тут с 0-ой строкой и 0-ым столбцом надо подумать.
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
DataTable dt = new DataTable();
//Предыдущий код...
 
//Данные
private void PutData()
{
            //Генерирование столбцов
            for (int j = 0; j < 20; j++)
            {
                dt.Columns.Add("Столбец " + Convert.ToString(j), typeof(int));
                
            }
            //Генерирование строк
            for (int i = 0; i < 20; i++) 
            {
                dt.Rows.Add(new Object[] {  });
            }
            //Список чисел
            List<int> list = new List<int>();
            list.Add(5);
            list.Add(2);
            list.Add(6);
            list.Add(2);
            list.Add(1);
            list.Add(11);
            for (int i = 0; i < list.Count; i++)
            {
                dt.Rows[list[i]][list[i]] = list[i];
            }
            dataGridView1.DataSource = null;
            dataGridView1.DataSource = dt;
}
Миниатюры
Добавление записи DataGridView  
0
 Аватар для vladis23
13 / 13 / 10
Регистрация: 25.05.2015
Сообщений: 554
19.02.2018, 15:05  [ТС]
HypSpace, на примере чисел 11 02 2018 15 6 13 4 (28 10)
чтобы было вот так:
11111(1)22(2)
0
3 / 3 / 1
Регистрация: 01.03.2017
Сообщений: 33
19.02.2018, 15:17
Цитата Сообщение от vladis23 Посмотреть сообщение
на примере чисел 11 02 2018 15 6 13 4 (28 10)
чтобы было вот так:
11111(1)22(2)
Не совсем понял Ваш вопрос, как из 11 02 2018 (28 10). Т.е. Вы хотите, чтобы из чисел бралась лишь цифра и заполнялась в DataTable (11111(1)22(2))??
C#
1
2
3
4
5
6
7
8
9
        //Расщепить число на цифры
        private List<int> SplitNumber(int Number)
        {
            string buffer = Convert.ToString(Number);
            var IEnumOfInt = buffer.Select(digit => int.Parse(digit.ToString()));
            List<int> buffer2 = new List<int>(IEnumOfInt);
            //Возвращение массива цифр
            return buffer2;
        }
0
 Аватар для vladis23
13 / 13 / 10
Регистрация: 25.05.2015
Сообщений: 554
19.02.2018, 15:21  [ТС]
HypSpace, Не совсем так, таблица хотелась. Вот такая нужна, только для 4 столбца будет сумирование строки отдельных цифр например попадаются 111 и 2 и 3(3) будет 8(3) в 4 столбце 1 строки
Миниатюры
Добавление записи DataGridView  
0
 Аватар для vladis23
13 / 13 / 10
Регистрация: 25.05.2015
Сообщений: 554
19.02.2018, 15:25  [ТС]
HypSpace, вот такая таблица должна быть, и если число больше 12 то число опять сумируется, вот такая идея программы
Миниатюры
Добавление записи DataGridView  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.02.2018, 15:25
Помогаю со студенческими работами здесь

Добавление нового столбца в DataGridView и в первую строку данного столбца добавление значения из textbox
Привет всем! Народ подскажите как мне сделать чтобы через кнопу Button добавлялся новый столбец в datagridview и в первую строку данного...

Добавление записи в datagridview
Здравствуйте. У меня есть 2 таблицы. Customer и Product. В таблице продукты есть поле customer_id. Есть программа управляющая этой базой...

Datagridview добавление новой записи в бд access
на форме datagridvew, кнопки(Добавить запись/удалить/редактировать/сохранить) и 4 текстовых поля. подключил таблицу бд вот так: ...

Добавление записи из Datagridview в базу данных mysql
Друзья, хочу добавить данные с датагрида в базу данных но выдает ошибку ссылка на объект не указывает на экземпляр объекта, что я делаю не...

Добавление записи в DataGridView, расположенном на одной форме, через другую форму
Есть форма &quot;Пациенты&quot;, на ней datagridview, данные в datagridview загружаются из таблицы БД, на форме есть кнопки: сохранить, удалить,...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru