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

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

04.03.2019, 20:14. Показов 2551. Ответов 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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
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
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.03.2019, 21:21
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru