Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 17
1

Редактирование данных через TextBox

04.03.2019, 20:14. Показов 2572. Ответов 3

Author24 — интернет-сервис помощи студентам
Нужно реализовать редактирование данных через TextBox. Сначала с помощью трех TextBox-ов заносятся данные в коллекцию, потом событием MouseClick выбирается строка, которая требует редактирования, данные из этой строки заносятся в TextBox-сы, которые можно изменить. После этого новые данные должны быть занесены обратно при нажатии кнопки.
Проблема: данные заносятся в новую строку, а не в ту же, то есть в итоге при редактирование появляется новая строка с новыми данными, при этом остается и старая.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private void dataGridView1_MouseClick(object sender, MouseEventArgs e) // выбор нужной строки для редактирования
        {
            textBox1.Text = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
            textBox2.Text = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
            textBox3.Text = dataGridView1.SelectedRows[0].Cells[2].Value.ToString();
 
        }
        private void button2_Click(object sender, EventArgs e) //редактирование
        {
            if (dataGridView1.SelectedRows.Count > 0)
            {
                int n = dataGridView1.SelectedCells[0].RowIndex;
                dataGridView1.Rows[n].Cells[0].Value = textBox1.Text;
                dataGridView1.Rows[n].Cells[1].Value = textBox2.Text;
                dataGridView1.Rows[n].Cells[2].Value = textBox3.Text;
                
            }
            else
            {
                MessageBox.Show("Выберите строку для редактирования.", "Ошибка.");
            }
        }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.03.2019, 20:14
Ответы с готовыми решениями:

Редактирование полей textbox через вторую форму редактирования
Помогите для тренировки)! Как передать данные на вторую форму через первую? Как при сделать чтобы...

Ввод массивов через множество textBox, подсчёт суммы, и вывод через listBox. Ошибка при вводе через textBox
Создал я кучу текст боксов, там происходит ввод каждого элемента массива. И вывод через листбокс ...

Редактирование данных в базе через datagrid

Редактирование данных файла через dataGridView
Здравствуйте. Через dataGridView вывожу данные из файла. Как сейчас грамотно реализовать...

3
228 / 165 / 110
Регистрация: 09.11.2015
Сообщений: 454
04.03.2019, 20:17 2
_Newbie_12345, показывайте наработки
0
0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 17
04.03.2019, 21:12  [ТС] 3
Добавил
0
 Аватар для PoPsa85
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
04.03.2019, 21:21 4
_Newbie_12345, Под себя поправите и проверки неплохо бы добавить.
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
public partial class Form1 : Form
    {
 
 
        BindingList<User> usersBl = new BindingList<User>();
        BindingSource bs = new BindingSource();
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            bs.DataSource = usersBl;
            dataGridView1.DataSource = bs;
            BindTextBoxes();
        }
 
        private void BindTextBoxes()
        {
            textBox1.DataBindings.Add(new Binding("Text", bs, "Name"));
            textBox2.DataBindings.Add(new Binding("Text", bs, "Age"));
        }
 
        private void btnNew_Click(object sender, EventArgs e)
        {
            bs.Add(new User(textBox1.Text, int.Parse(textBox2.Text)));
        }
}
 
class User : INotifyPropertyChanged
    {
        string name;
        int age;
 
        public event PropertyChangedEventHandler PropertyChanged;
 
        private void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
        {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
            
        }
 
        public User(string name, int age)
        {
            this.Name = name;
            this.Age = age;
        }
 
        public string Name
        {
            get {return this.name; }
            set
            {
                if (value != this.name)
                {
                    this.name = value;
                    NotifyPropertyChanged();
                }
            }
        }
        public int Age
        {
            get { return this.age; }
            set
            {
                if (value != this.age)
                {
                    this.age = value;
                    NotifyPropertyChanged();
                }
            }
        }
    }
1
04.03.2019, 21:21
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.03.2019, 21:21
Помогаю со студенческими работами здесь

Добавление данных в DataGridView через textbox
У меня есть две формы (FrmZakazBayer,FrmZakazFarm). На FrmZakazBayer есть пять textbox. На...

Вывод данных из XML в TextBox через ListBox
Всё хорошо работает но есть пару но... Как сделать что бы при выборе элемента из listbox данные из...

Как добавить новые данные в таблицу базы данных через textBox?
Всем доброго времени суток! Подскажите как добавить новые данные в таблицу базы данных через...

TextBox. Не работает редактирование
Доброго времени суток! написал пару строк для редактирования вводимого текста, но при компиляции...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Как проверить, что файл НЕ существует с помощью Bash
bytestream 25.01.2025
В системном администрировании проверка существования файлов является фундаментальной операцией, особенно при написании скриптов на Bash. Правильная обработка ситуаций, когда файл отсутствует,. . .
Как проверить, что строка пустая, неопределена или null в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript разработчики регулярно сталкиваются с необходимостью проверки строковых значений на различные состояния. Валидация данных является критически важным. . .
Как проверить существование ключа в объекте или массиве в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript программисты постоянно сталкиваются с необходимостью работать с объектами и массивами. Эти структуры данных являются фундаментальными элементами языка и. . .
Как создать ArrayList из массива (array) в Java
bytestream 25.01.2025
При разработке программного обеспечения на языке Java программисты часто сталкиваются с необходимостью эффективного управления наборами данных. Массивы и ArrayList являются двумя фундаментальными. . .
Как сгенерировать случайные целые числа (int) в указанном диапазоне в Java
bytestream 25.01.2025
В программировании генерация случайных чисел является важнейшим инструментом для решения множества практических задач. От создания игровых механик до реализации алгоритмов машинного обучения, от. . .
Как сделать, чтобы grep выводил строки до и после найденной
hw_wired 25.01.2025
Утилита grep стала незаменимым инструментом для поиска и фильтрации информации в Unix-подобных операционных системах. Эта командная утилита позволяет осуществлять поиск строк, соответствующих. . .
Как клонировать определенную ветку в Git
bytestream 24.01.2025
Одной из ключевых функций Git является возможность клонирования веток, что позволяет создавать локальные копии удаленных репозиториев и работать с определенными версиями проекта. Этот механизм. . .
Как в цикле обойти строки DataFrame в Pandas Python
bytestream 24.01.2025
DataFrame представляет собой одну из основных структур данных в библиотеке Python Pandas, которая организует информацию в виде двумерной таблицы с строками и столбцами. Эта структура данных особенно. . .
Как получить имя текущей ветки в Git
bytestream 24.01.2025
При работе с Git часто возникает необходимость определить имя текущей ветки, в которой ведется разработка. Знание текущей ветки является критически важным аспектом для эффективного управления. . .
Как отсортировать массив объектов по значению поля объекта в JavaScript
bytestream 24.01.2025
При разработке веб-приложений на JavaScript разработчики часто сталкиваются с необходимостью работать с массивами объектов. Эти структуры данных представляют собой упорядоченные наборы элементов, где. . .
Ошибка "src refspec master does not match any" при пуше коммита в Git
bytestream 24.01.2025
При работе с системой контроля версий Git разработчики нередко сталкиваются с различными ошибками, одной из которых является сообщение "src refspec master does not match any". Эта ошибка возникает. . .
Как округлить не более двух цифр после запятой в JavaScript
bytestream 24.01.2025
При работе с числами в JavaScript разработчики часто сталкиваются с необходимостью округления десятичных значений до определенного количества знаков после запятой. Это особенно важно при работе с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru