kopiowanie danych z datagrid do innego datagrida

0

jako że to mój pierwszy post to witam :)

mam następujący problem

Na form1 mam datagridview i do niego chce skopiować zaznaczone rzędy z datagridview który znajduje się na form2. Form 2 jest wywoływany z Form1.

Pytanie brzmi jak to zrobić ?

Bo nie mam pomysłu zbytnio, jedynie pętla co nie wydaje mi się zbyt ładnym rozwiązaniem.

0

Jeżeli masz zaznaczenie to tylko pętla zostaje bo jak inaczej. W momencie kopiowania całego to pikuś. W przypadku wybiórczego zaznaczania to musisz pokazać co gdzie.

0

no ok tylko jeszcze pytanie brzmi jak kopiować, bo nie wychodzi mi to.

0

Ja bym sprobowal czegos takiego :

DataGridViewRow[] arrow = new DataGridViewRow[i];
...
	void BtnCopyClick(object sender, EventArgs e)
		{
			dgvFirst.SelectedRows.CopyTo(arrow,0);
			dgvSecond.Rows.AddRange(arrow);
		}

Ale wywala mi blad Row provided already belongs to a DataGridView control z ktorym juz niestety nie moge sobie poradzić. Jesli ktoś ,wie czemu wyskakuje wyjatek ,to prosze o odpowiedz.

0

Pewno dlatego, że DataGridViewRow jest przypisany do DataGriedView i nie może na raz należeć do dwóch (to by było głupie zresztą). Może da się inaczej, niż przy użyciu "nieładnej" pętli, ale mi np. nie chciałoby się myśleć jak to zrobić, bo szkoda czasu ;)
Pewno i tak nie będzie krótsze.

foreach (DataGridViewRow dgrv in this.dataGridView1.SelectedRows) this.dgvTarget.Rows.Add(dgrv.Cells[0].Value, dgrv.Cells[1].Value); ``` A tak w ogóle, to co złego jest w pętlach?
0

dzieki, nie pomyslalem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1