Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > Windows Forms
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 09.12.2018, 16:58   #1
anshnine
Пользователь
 
Регистрация: 15.10.2017
Сообщений: 27
Репутация: -8
По умолчанию Перенести выбранную строку в другой dataGridview

Здравствуйте.
Требуется выделенную строку из одного datagrid перенести в другой.
Код:
private void button1_Click(object sender, EventArgs e)
        {
 
            for (int i = 0; i < dataGridView1.RowCount; i++)
            {
                dataGridView1.Rows[i].Selected = false;
                for (int j = 0; j < dataGridView1.ColumnCount; j++)
                    if (dataGridView1.Rows[i].Cells[j].Value != null)
                        if (dataGridView1.Rows[i].Cells[j].Value.ToString().Contains(textBox1.Text))
                        {
                            dataGridView1.Rows[i].Selected = true;
                            break;
                        }
            }
        }
Данный код осуществляет поиск совпадений между textbox и любой ячейкой в datagrid.
А как в этот же код вкрутить отображение этой строки в новый datagrid ?
Заранее спасибо
anshnine вне форума   Ответить с цитированием
Старый 11.12.2018, 12:05   #2
anshnine
Пользователь
 
Регистрация: 15.10.2017
Сообщений: 27
Репутация: -8
По умолчанию

Вопрос актуален
anshnine вне форума   Ответить с цитированием
Старый 11.12.2018, 19:30   #3
Black Fregat
Программист
Профессионал
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,374
Репутация: 956
По умолчанию

Цитата:
Сообщение от anshnine Посмотреть сообщение
А как в этот же код вкрутить отображение этой строки
Внутри самого внутреннего if. Там же есть актуальная позиция в гриде
Цитата:
Сообщение от anshnine Посмотреть сообщение
в новый datagrid ?
На какое место?
Black Fregat вне форума   Ответить с цитированием
Старый 13.12.2018, 22:53   #4
anshnine
Пользователь
 
Регистрация: 15.10.2017
Сообщений: 27
Репутация: -8
По умолчанию

Добрый вечер , я уже решил эту проблему , к сожалению возможности вставить код сейчас нету .
anshnine вне форума   Ответить с цитированием
Старый 23.12.2018, 15:28   #5
anshnine
Пользователь
 
Регистрация: 15.10.2017
Сообщений: 27
Репутация: -8
По умолчанию

И все же появилась сложность. Нужно чтобы выделенная строчка удалялась из одной таблицы и добавлялась в другую. При этом из первой таблицы строчка должна удаляться. Данный код удаляет строчку из 1ой таблицы и переносит ее в другую , но при это в новой появляется много пустых строчек. И перенос осуществляется криво очень , строчки встают не по порядку , а либо на свое место , либо заменяют старую. Помогите разобраться. Ниже мой кривой вариант

Код:
int RC = dataGridView1->RowCount;
	int CC = dataGridView1->ColumnCount;
	
	for (int i = 0; i < CC; i++)
	{
		
		for (int j = 0; j < RC; j++)
		{
			if (dataGridView1->Rows[j]->Selected==true) {
				
				dataGridView2->Rows->Add();
				dataGridView2->Rows[j]->Cells[i]->Value = dataGridView1->Rows[j]->Cells[i]->Value;
				

				
			}
			
		}
	}
	int a = dataGridView1->CurrentRow->Index;
	dataGridView1->Rows->Remove(dataGridView1->Rows[a]);
anshnine вне форума   Ответить с цитированием
Старый 23.12.2018, 15:40   #6
evg_m
Профессионал
 
Регистрация: 20.04.2008
Сообщений: 4,897
Репутация: 2195
По умолчанию

Код:
for (int i = 0; i < CC; i++)
	{
		if (dataGridView1->Rows[j]->Selected==true) {
			dataGridView2->Rows->Add();
	        	for (int j = 0; j < RC; j++)
		       {
				dataGridView2->Rows[j]->Cells[i]->Value = dataGridView1->Rows[j]->Cells[i]->Value; 
			}
		}
	}
dataGridView2->Rows[j]-> .... /// а кто сказал что будет вставлена именно строка j
P.S. это(какая строка будет добавлена) знает только тот кто добавляет(та процедура/функция) ...->Add()
__________________
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 23.12.2018 в 15:50.
evg_m вне форума   Ответить с цитированием
Старый 23.12.2018, 16:00   #7
anshnine
Пользователь
 
Регистрация: 15.10.2017
Сообщений: 27
Репутация: -8
По умолчанию

ПРи таком коде каждая строчка занимает тоже самое место на котором она была в первой таблице
Код:
int RC = dataGridView1->RowCount;
	int CC = dataGridView1->ColumnCount;
	for (int i = 0; i < RC; i++)
	{
		if (dataGridView1->Rows[i]->Selected == true) {
			dataGridView2->Rows->Add();
			for (int j = 0; j < CC; j++)
			{
				dataGridView2->Rows[i]->Cells[j]->Value = dataGridView1->Rows[i]->Cells[j]->Value;
			}
		}
	}

Последний раз редактировалось anshnine; 23.12.2018 в 16:06.
anshnine вне форума   Ответить с цитированием
Старый 23.12.2018, 16:11   #8
anshnine
Пользователь
 
Регистрация: 15.10.2017
Сообщений: 27
Репутация: -8
По умолчанию

И выскакивает ошибка с индексами , если в первом datagrid 3 строчки и выделяем 3ью строчку и удаляем ее.
Миниатюры
Нажмите на изображение для увеличения
Название: Скриншот 23-12-2018 170928.png
Просмотров: 24
Размер:	26.0 Кб
ID:	95362  
anshnine вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перенести программу на другой компьюьтер lord24 БД в Delphi 33 27.05.2015 09:41
Как перенести данные из DataGridView в TextBox dima1257 C# (си шарп) 1 21.12.2013 21:28
перенести часть текста в другой столбец horpenst Microsoft Office Excel 4 13.07.2011 01:37
перенести type из одного модуля в другой fize Помощь студентам 3 12.12.2009 19:57
Перенести строку Михаил Юрьевич БД в Delphi 3 04.08.2009 12:16


11:11.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru