Member 13359885 Ответов: 1

Как перенести datagridview все строки и ячейки одной формы в другую форму


Дорогой Господин/Mam
Меня зовут хирен.
1. У меня есть использовать как один datagridview и более десяти кнопку View для разных запросов SQL.

2.My цель
Этот dataGridView открывает одну форму, нажав общую кнопку, и все данные записываются во вторую форму представления таблицы данных.

Пожалуйста, опишите меня.
У меня уже более 3 дней поисков по этой теме меня смущает.

Что я уже пробовал:

Я поиск в интернете, но выбора передачи подряд я какой-либо конкретной передаче значения
не показывать всю ценность.пожалуйста, помогите мне.

Sinisa Hajnal

Измените перспективу, не думайте, как изменить сетки, вместо этого измените источники данных (скопируйте DataTable или заполните другой набор данных, коллекцию, что бы вы ни использовали).
Вы не показали никакого кода, даже не заполнив первую сетку, так трудно помочь.

________________

Если вы используете WinForm, вы можете переопределить конструктор новой формы, например:
общественный

публичный частичный класс Form2 : форма
{
публичная форма 2(DataGridView dataToShow)
{
метод InitializeComponent();
этот.Управления.Добавить(dataToShow);

}
}

Чем вы можете увидеть что-то Фанни с добавлением следующего кода на кнопку click in Form1:

частный недействительными обработчика button1_click(объект отправителя, EventArgs в электронной)
{
Form2 fwWithSameDgvClone = new Form2(this.dataGridView1);
fwWithSameDgvClone.Покажите();
}


Это означает, что элементы управления WinForm имеют свои ограничения для использования в различных формах.

Но точно так же вы можете передать данные в Form2 и привязать эти данные к другому DataGridView , существующему на Form2.

1 Ответов

Рейтинг:
11

________________

Первая форма - DataGridView и кнопка:

public partial class Form1 : Form
	{
		public Form1()
		{
			InitializeComponent();

			this.dataGridView1.DataSource = new List<string> { "qwewqe", "qweqweqwe", "aaaaaaa" };
		}

		private void button1_Click(object sender, EventArgs e)
		{			
			Form2 fwWithSameDgvClone = new Form2(this.dataGridView1.DataSource);
			fwWithSameDgvClone.Show();
		}
	}




Вторая форма - только DataGridView:

public partial class Form2 : Form
	{
		
		public Form2(object dataToShow)
		{
			InitializeComponent();
			dataGridView1.DataSource = dataToShow;
		}
	}



Обратите внимание - dataGridView1 в Form2 создан в конструкторе форм, и это другой объект (конструктор использует оператор "new"!), а не то же самое с Form1 dataGridView1.