Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
pavlin2000
1 / 1 / 0
Регистрация: 28.07.2013
Сообщений: 40
1

Манипулирование данными в DataTable из DataViewGrid

05.07.2014, 07:58. Просмотров 799. Ответов 6
Метки нет (Все метки)

Доброе утро!

На форме имеется компонент DataViewGrid, которому через DataSource источником данных назначен DataTable. Хотелось бы, чтобы при манипулировании содержимым в DataViewGrid происходили изменения в DataTable, например, при удалении выделенных строк из одного удалялось в другом, или, в идеале, можно было бы управлять на уровне ячеек.
Никаких "датаадаптеров" применять не хочу.
Пробовал создавать временный DataTable, перемещать туда нужные данные из DataViewGrid и ппремещать это дело в источник данных, но мне это не очень нравится из-за какой-то ячейки...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2014, 07:58
Ответы с готовыми решениями:

Заполнение элемента DataGridView данными из DataTable
Привет Всем! Помогите разобраться немного с тем, что я натворил в своем коде) Создаю приложение, в...

Заполнить ArrayList данными из столбца DataTable
Приветствую. Такой вопрос. dataGridView1.DataSource = (DataTable)dal.materialsNEW(); ...

Как заполнить datagridview данными из нескольких datatable?
есть 3 datatable: dtOrder, dtStage и dtClient в datagridview нужно отобразить следующие поля...

Массовая вставка/обновление таблицы сервера данными из DataTable (DataSet)
Есть DataSet ( таблица в DataSet.Tables: ID-ключ, NAME, PROVIDER) И таблица dbo.NT с аналогичной...

DataTable, DataAdapter, SQLCommanBuilder на службе обмена данными между базами
Доброго всем, кто зашел сюда! Продолжаю курить мануалы MSDN и чем дальше тем забористее...

6
insite2012
Модератор
Эксперт .NET
4886 / 3838 / 1097
Регистрация: 12.10.2013
Сообщений: 11,101
Записей в блоге: 2
05.07.2014, 08:44 2
Цитата Сообщение от pavlin2000 Посмотреть сообщение
Никаких "датаадаптеров" применять не хочу.
pavlin2000, "хочу-не хочу" - это не от вас зависит. Есть стандартные средства языка, их и надо использовать. Ну или пишите свои костыли и велосипеды, как угодно.
0
pavlin2000
1 / 1 / 0
Регистрация: 28.07.2013
Сообщений: 40
05.07.2014, 10:09  [ТС] 3
insite2012, Спасибо , очень помогли.
Зачем мне датаадаптеры, когда я баз данных не пользую?
Появилась мысль , что, может быть, как-то можно узнать индекс строки DataTable , которая соответствует выбранной в DataGridView и с ней работать
0
insite2012
Модератор
Эксперт .NET
4886 / 3838 / 1097
Регистрация: 12.10.2013
Сообщений: 11,101
Записей в блоге: 2
05.07.2014, 12:10 4
Цитата Сообщение от pavlin2000 Посмотреть сообщение
Зачем мне датаадаптеры, когда я баз данных не пользую?
pavlin2000, вот чесслово, не понимаю я вас...
1. Зачем тогда менять таблицу, а не датагрид, если после закрытия приложения все равно все вернется на круги своя...
2. В конце концов, если источник у вас для датагрид - DataTable, то меняйте датагрид и из него получайте таблицу, уже измененную, вот таким образом:
C#
1
DataTable newDt=(DataTable)dataGridView.DataSource;
0
pavlin2000
1 / 1 / 0
Регистрация: 28.07.2013
Сообщений: 40
05.07.2014, 16:39  [ТС] 5
1. потому что работает быстрей , оно же не отрисовывается, в отличие от грида, и фильтры можно применять.
"на круги своя" ничего не вернется, потому что невозможно воспроизвести заново то множество случайных факторов , которое мощно влияет на причинно-следственные отношения в исходном состоянии.
2. Это я уже применял, речь о том, чтобы через конкретную ячейку вдатагриде ,в лиять на соответствующую в дататабле, а не целиком присваивать
0
insite2012
Модератор
Эксперт .NET
4886 / 3838 / 1097
Регистрация: 12.10.2013
Сообщений: 11,101
Записей в блоге: 2
05.07.2014, 20:34 6
Цитата Сообщение от pavlin2000 Посмотреть сообщение
"на круги своя" ничего не вернется
1. Это вы о чем??? Вот смотрите. У вас программно создана DataTable. Она отображена в DataGridView. Так? Вы не используете ни БД, ни вообще какой-бы то ни было механизм сохранения. Так? Так после закрытия приложения та DataTable, что была сформирована, так и останется точно такой, как у вас прописано в коде. Верно?
Цитата Сообщение от pavlin2000 Посмотреть сообщение
чтобы через конкретную ячейку в датагриде ,влиять на соответствующую в дататабле
2. Резонный вопрос: а зачем? Цель этого разве нельзя сказать, возможно есть другие решения проблемы...

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от pavlin2000 Посмотреть сообщение
множество случайных факторов , которое мощно влияет на причинно-следственные отношения в исходном состоянии.
pavlin2000, ну это уже совсем... А не мощно может влиять? :D

0
pavlin2000
1 / 1 / 0
Регистрация: 28.07.2013
Сообщений: 40
12.07.2014, 10:06  [ТС] 7
Цитата Сообщение от insite2012 Посмотреть сообщение
Вы не используете ни БД, ни вообще какой-бы то ни было механизм сохранения
а причём тут это, мне необходимо решить конкретную проблему, всё остальное убрано из контекста , как отвлекающие от этой проблемы факторы.
Цитата Сообщение от insite2012 Посмотреть сообщение
а зачем? Цель этого разве нельзя сказать, возможно есть другие решения проблемы..
Ну у меня чисто академический интерес возник по этому поводу. Я сообразил пока только одно решение - это по значению ячейки в строке в дг найти ячейку в строке в дт и узнать ее индекс, потом работать с соответствующими строками.
Цитата Сообщение от insite2012 Посмотреть сообщение
ну это уже совсем... А не мощно может влиять?
Только мощно, монументально, сокрушительно и никак иначе! ))
0
12.07.2014, 10:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2014, 10:06

Манипулирование с данными MySQL
Всем добрый день. Я пытаюсь получить из базы данных MySQL новости и разместить их на сайте для...

Манипулирование данными между формами
Всем привет! Возникла проблема при манипулировании данными между двумя формами. Кто как...

Обмен данными между DataGridView и DataTable
Нужно сохранить и загрузить данные в обоих направлениях, одна из колонок у меня шеснадцатиричная,...


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

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

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