Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 25
1

Как добавлять имена в DataGridView через другую form в которой textbox и button

04.04.2013, 23:24. Показов 1740. Ответов 7
Метки нет (Все метки)

Как добовлять имена в DataGridView через другую form с помощью textbox и button.
У меня есть form1 и form2.
В form1 у меня DataGridView таблица а в form2 textbox b кнопка Button"Добавить".
Мне нужно вписывать в textbox допустим имена и нажимать добавит и чтобы это имя появилось в таблице.
Помогите пожалуйста.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2013, 23:24
Ответы с готовыми решениями:

Как создать Button в Form-e и сохранить его, так чтобы при следующем открытии Form кнопка, т.е. Button существовал на форме?
Доброе время суток! У меня возник такой вопрос. Как создать Button в Form-e и сохранить его, так...

Как добавить данные в Datagridview через другую форму?
Подскажите, как добавить данные в Datagridview из другой формы используя локальную базу данных? В...

Как занести данные через TextBox в DataGridView
У меня есть таблица: Номер, фамилия, имя, телефон.. а как сделать чтобы пользователь вводил в...

VS 2008, C++ (Only), DataGridView. Как добавлять и выводить строки с данными в DataGridView в несвязном режиме (без готовой БД)?
Перегуглил всё, что можно. На MSDN нет кода C++. Можно ссылки (только не на С#)

7
10 / 10 / 4
Регистрация: 30.01.2013
Сообщений: 26
05.04.2013, 04:35 2
В program.cs создай новый класс
C#
1
2
3
4
5
public static class Call
{
        public delegate void callEvent(string str);
        public static callEvent eventHandler;
}
В форме с текстбоксом и кнопкой сделай вызов события по клику на кнопку
C#
1
Call.eventHandler(textBox1.Text); //здесь передается текст из текстбокса
А в форме с таблицей нужно добавить функцию
C#
1
2
3
4
5
6
7
8
9
void Refresh(string str)
{
            DataGridViewCell cel0 = new DataGridViewTextBoxCell();
            DataGridViewRow row = new DataGridViewRow();
            cel0.Value = str; //здесь принимается текст из текстбокса
            row.Cells.AddRange(cel0);
            this.dataGridView1.Rows.Add(row);
//в данном случае таблица с одним столбцом
}
и в конструтор этой формы надо добавить
C#
1
Call.eventHandler = new Call.callEvent(this.Refresh);
1
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 25
06.04.2013, 02:03  [ТС] 3
Хорошо щас попробую
0
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 25
08.04.2013, 20:32  [ТС] 4
выдаёт ошибку не могу вставить в конструктор не определяет call
0
10 / 10 / 4
Регистрация: 30.01.2013
Сообщений: 26
08.04.2013, 23:23 5
Можно код посмотреть?
0
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 25
09.04.2013, 01:18  [ТС] 6
C#
1
Call.eventHandler(textBox1.Text);
Call пишет ошибку может просто я не туда вставлял
C#
1
Call.eventHandler = new Call.callEvent(this.Refresh);
Добавлено через 5 минут
Это я пишу в Program.cs

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
 
namespace WindowsFormsApplication9
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        
        
        }
        public static class Call
        {
            public delegate void callEvent(string str);
            public static callEvent eventHandler;
        }
    }
}
Это в Form 2 для кнопки
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
namespace WindowsFormsApplication9
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            Call.eventHandler(textBox1.Text);
        }
    }
}
это для form1
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
namespace WindowsFormsApplication9
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Call.eventHandler = new Call.callEvent(this.Refresh);
        }
 
        private void Form1_Load(object sender, EventArgs e);
        
void Refresh(string str)
{
            DataGridViewCell cel0 = new DataGridViewTextBoxCell();
            DataGridViewRow row = new DataGridViewRow();
            cel0.Value = str; //здесь принимается текст из текстбокса
            row.Cells.AddRange(cel0);
            this.dataGridView1.Rows.Add(row);
//в данном случае таблица с одним столбцом
}
        }
    }
и тамже я вписал строчку в конструктор если я не ошибаюсь.

Добавлено через 1 минуту
а ошибка в этих строках
C#
1
 Call.eventHandler = new Call.callEvent(this.Refresh);
и
C#
1
Call.eventHandler(textBox1.Text);
что то с call

The name 'Call' does not exist in the current context вот сама ошибка
0
10 / 10 / 4
Регистрация: 30.01.2013
Сообщений: 26
09.04.2013, 02:53 7
У вас класс Call находится внутри класса Program, что не правильно. Нужно вот так
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
 
namespace WindowsFormsApplication9
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
    public static class Call
    {
        public delegate void callEvent(string str);
        public static callEvent eventHandler;
    }
}
И во второй форме вот эту строчку надо удалить.
C#
1
private void Form1_Load(object sender, EventArgs e);
А так все должно работать.
1
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 25
09.04.2013, 22:00  [ТС] 8
всё 1 таблица работает, но возникла проблема пытался сделать 2 таблицу , но не пому куда писать код чтобы она также работала.
вот код как я сделал
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
namespace WindowsFormsApplication10
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Call.eventHandler = new Call.callEvent(this.Refresh);
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
        void Refresh(string str)
        {
            DataGridViewCell cel0 = new DataGridViewTextBoxCell();
            DataGridViewRow row = new DataGridViewRow();
            cel0.Value = str; //здесь принимается текст из текстбокса
            row.Cells.AddRange(cel0);
            this.dataGridView1.Rows.Add(row);
            //в данном случае таблица с одним столбцом
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            Form2 about = new Form2();
            about.ShowDialog();
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            Form3 about = new Form3();
            about.ShowDialog();
 
        }
 
        void Refresh1(string stry)
        {
            DataGridViewCell cel0 = new DataGridViewTextBoxCell();
            DataGridViewRow row = new DataGridViewRow();
            cel0.Value = stry; //здесь принимается текст из текстбокса
            row.Cells.AddRange(cel0);
            this.dataGridView1.Rows.Add(row);
            //в данном случае таблица с одним столбцом
        }
    }
}
и хотел бы сразу узнать как их совместить чтобы при нажатии в 1 таблице на строку как бы выводил список во 2 таблице который я там допустим заполнил

Добавлено через 9 часов 26 минут
Я разобрался со 2 таблице у меня там всё добовляется но только в столбик а не в строчку.
Мне нужно что бы из 2 текстбоксов записывалось в 1 строчку Имя и фамилия, как бы в разные столбики вот код на form1:
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
namespace WindowsFormsApplication11
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Call.eventHandler = new Call.callEvent(this.Refresh);
            Call1.eventHandler1 = new Call1.callEvent1(this.Refresh1);
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            Form2 about = new Form2();
            about.ShowDialog();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
        void Refresh(string str)
        {
            DataGridViewCell cel0 = new DataGridViewTextBoxCell();
            DataGridViewRow row = new DataGridViewRow();
            cel0.Value = str; //здесь принимается текст из текстбокса
            row.Cells.AddRange(cel0);
            this.dataGridView1.Rows.Add(row);
            //в данном случае таблица с одним столбцом
        }
        void Refresh1(string str)
        {
            DataGridViewCell cel0 = new DataGridViewTextBoxCell();
            DataGridViewCell cel1 = new DataGridViewTextBoxCell();
            DataGridViewRow row = new DataGridViewRow();
            DataGridViewRow row1 = new DataGridViewRow();
            cel0.Value = str;
            cel1.Value = str;
            //здесь принимается текст из текстбокса
            row.Cells.AddRange(cel0);
            row1.Cells.AddRange(cel1);
            this.dataGridView2.Rows.Add(row);
            //в данном случае таблица с одним столбцом
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            Form3 about = new Form3();
            about.ShowDialog();
        }
 
        private void button4_Click(object sender, EventArgs e)
        {
            dataGridView2.Rows.RemoveAt(dataGridView2.CurrentRow.Index);
        }
    }
}
вот код на кнопку
C#
1
2
3
4
5
6
 private void button1_Click(object sender, EventArgs e)
        {
            Call1.eventHandler1(textBox1.Text);
            Call1.eventHandler1(textBox2.Text);
           
            this.Close();
код program.cs
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
namespace WindowsFormsApplication11
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
    public static class Call
    {
        public delegate void callEvent(string str);
        public static callEvent eventHandler;
    }
    public static class Call1
    {
        public delegate void callEvent1(string str);
        public static callEvent1 eventHandler1;
    }
}
и хотел бы узнать как их совместить чтобы при нажатии в первой таблице на строку выводил список во второй таблице который я там заполнил.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2013, 22:00

Как передать из события TextBox на обработчик имена других TextBox и Label?
Задачка такая: есть несколько рядов TextBox, содержимое их их надо, например, сложить и поместить в...

Создание элементов textbox через button
Доброго времени суток! Хочу, чтобы при нажатии на кнопку создавалось определенное число текстбоксов...

Как сделать, чтобы данные через TextBox можно было заносить в DataGridView
Как сделать, чтобы данные через TextBox можно было заносить в DataGridView... Приложил скрин...

Передача данных с DataGridView из одной формы, в другую форму с TextBox
Всем Здрасти. Перерыл уже кучу информации. перепробовал кучу методов, но никак не могу сделать...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.