|
222 / 175 / 73
Регистрация: 05.11.2015
Сообщений: 533
|
|||||||||||
Объединение нескольких таблиц перед выводом в DataGridView08.12.2015, 10:39. Показов 3501. Ответов 14
Метки нет (Все метки)
Столкнулся с такой проблемой. Вывожу из xml файла таблицы. Хочу вывести несколько таблиц, которые есть в xml файл в один datagridview. имя выбранного файла берется из текстового поля. делаю это так:
код кнопки:
если выводить отдельно в другой DataGridView2, так:
и еще вопрос, можно ли игнорировать ошибки с пустыми данными в таблицы из коллекции таблиц DataSet, т.е. если есть где то в таблице пустые данные, что бы он все равно выводил эту таблицу? заранее спасибо за помощь.
0
|
|||||||||||
| 08.12.2015, 10:39 | |
|
Ответы с готовыми решениями:
14
Объединение нескольких dataSet и отображение в dataGridView Update нескольких таблиц в DataGridView Отображение нескольких таблиц из базы данных SQL в DataGridView |
| 08.12.2015, 20:00 | |
|
Каждый DataSet имеет свою коллекцию таблиц. Похоже, что здесь вы обращаетесь к таблице, которой нет в коллекции. Если DataGridView2.DataSource = DataSet3.Tables(17) выполняется корректно, то в DataSet3 должно быть, по крайней мере, 18 таблиц. Проверьте сколько таблиц храниться в каждом DataSet и что они из себя представляют.
Объединяемые таблицы должны иметь похожие схемы. Если судить по приведенному коду, то каждый DataSet заполняется одинаковым набором таблиц. В этом случае м.б. использовать DataSet.Copy. Ну и если набор таблиц одинаков, зачем выбирать таблицы из трех DataSet и зачем вообще нужно три DataSet. Проверяйте aggregateTable после каждого пополнения. Слишком мало содержательной информации, чтобы дать какие-либо конкретные советы.
1
|
|
|
222 / 175 / 73
Регистрация: 05.11.2015
Сообщений: 533
|
|
| 09.12.2015, 09:04 [ТС] | |
|
0
|
|
|
222 / 175 / 73
Регистрация: 05.11.2015
Сообщений: 533
|
|||||||||||
| 09.12.2015, 10:57 [ТС] | |||||||||||
|
ovva,
правильно делаю? или нет? ругается вот на эту строку:
0
|
|||||||||||
|
222 / 175 / 73
Регистрация: 05.11.2015
Сообщений: 533
|
|
| 09.12.2015, 12:13 [ТС] | |
|
ovva, он почему то вот так вот объединят теперь.
0
|
|
| 09.12.2015, 13:36 | ||||||
|
Приведите пример данных которые вы пытаетесь загружать через DataSet1.ReadXml(_FilePath).
Добавлено через 7 минут Метод DataSet.Copy копирует структуру и данные DataSet-источник в DataSet-приемник. Например
0
|
||||||
|
222 / 175 / 73
Регистрация: 05.11.2015
Сообщений: 533
|
||||||
| 10.12.2015, 11:31 [ТС] | ||||||
|
Прикрепляю файл xml, с которым я работаю.
пробовал объединять таблицы 15 и 16
а если добавить 18 таблицу, то уже выдает ошибку (прикрепил сообщением ранее) пробовал объединять 15 и 18, 16 и 18, объединяет, но выводит криво (так же скирн прикрепил сообщением ранее). а все вместе, все 3 таблицы он не объединяет. буду благодарен, если поможете мне разобраться с этой проблемой. заранее спасибо!
0
|
||||||
| 10.12.2015, 15:44 | |
|
В xml-файле у вас хранится копия базы данных на какой-то момент. Чтобы правильно загрузить ее в DataSet нужно иметь т.н. xml-схему (это файл с расширением xsd, или группа файлов). Думается, что эту схему можно поискать, например, на сайте ПФ.
Теперь к ситуации когда такой схемы нет. При загрузке в DataSet образуется 19 таблиц. Возможно, что в схеме предусматривается хранение информации, которой в данном файле просто нет, т.е. при загрузке другого файла таблиц может оказаться 20 или 22. Поэтому в коде лучше пользоваться именами таблиц. Так таблица с индексом 15 это "СведенияОполучателе", таблица 16 – "ФИО", таблица 17 – "ВсеВыплаты" и таблица 18 – "Выплата". То, что таблицы 15 и 16 объединились так как нужно, скорее исключение. Для данных произвольного вида типичный результат это то, что вы привели на рисунке. Таблицы 15 и 16 имеют общий идентификатор поле "СведенияОполучателе_Id" именно по нему и было выполнено объединение. Таблица 18 такого поля не имеет, но имеет поле "ВсеВыплаты_Id". Связь между "СведенияОполучателе_Id" и "ВсеВыплаты_Id" зафиксирована в таблице 17. Таким образом, таблицы 15 и 16 можно объединить через Merge, а таблицу 18 добавить через код с использованием информации из таблицы 17.
1
|
|
|
222 / 175 / 73
Регистрация: 05.11.2015
Сообщений: 533
|
|
| 10.12.2015, 16:13 [ТС] | |
|
ovva,
а можно пример?, вы все так доступно описали, я все понял, только вот не знаю как это сделать!? заранее спасибо!
0
|
|
| 10.12.2015, 16:46 | ||||||
Сообщение было отмечено bd_13 как решение
Решение
Думаю, этот код вам поможет.
1
|
||||||
|
222 / 175 / 73
Регистрация: 05.11.2015
Сообщений: 533
|
|
| 10.12.2015, 17:10 [ТС] | |
|
ovva, спасибо вам большое!) все получилось и все работает!!!
0
|
|
|
222 / 175 / 73
Регистрация: 05.11.2015
Сообщений: 533
|
|
| 20.01.2016, 13:05 [ТС] | |
|
ovva, пришлось вернуться к старой еще теме...
нашел косяк небольшой. все работает корректно, но не совсем так... пожалуйста, вспомните эту тему. прошу помощи еще вот в чем. вы помогли мне все сделать, только я не учел одну маленькую деталь. в файлике, который я вам давал у людей по одному виду выплаты. есть люди, у которых есть несколько выплат, по 2 выплаты, по 3 выплаты и т.д, ваш код выводит только одну последнюю выплату. а мне надо, что бы он выводил все выплаты. пример файла, с добавленными видами выплат я выкладываю. если посмотрите, то там я добавил к 1му человеку еще один вид выплаты, и к 3ему еще 3 выплаты. как сделать не знаю, как будет лучше, либо пытаться вывести еще записи по выплате, либо добавить к записи столбцы с дополнительными выплатами.
0
|
|
| 20.01.2016, 20:33 | ||||||
|
По каждой выплате отдельная запись.
1
|
||||||
|
222 / 175 / 73
Регистрация: 05.11.2015
Сообщений: 533
|
|
| 21.01.2016, 09:47 [ТС] | |
|
ovva, СПАСИБО)
все прекрасно работает!!! очень вам благодарен. только вот в чем еще проблема...маленькие файлы открывает влет. а вот большие файлы - виснет...можно ли с эти что нибудь сделать? что бы не так долго висел? Добавлено через 9 минут или может какой-нибудь прогресс открытия попытаться сделать, что бы хоть видеть на сколько долго ждать?
0
|
|
| 21.01.2016, 23:55 | |||||||
|
Оптимизировать процедуру под большие файлы, не имея самих файлов как то не с руки.
Для начала попробуйте выявить наиболее затратные в плане времени блоки кода. Разделите весь код на логические блоки (3 - 5) и добавьте строки.
0
|
|||||||
| 21.01.2016, 23:55 | |
|
Помогаю со студенческими работами здесь
15
Объединение столбцов из БД перед записью в datagridview Объединение нескольких таблиц Объединение нескольких таблиц Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|