Member 14588284 Ответов: 1

Vb net matching datagrdviews values другой datagrigview


Привет У меня есть два вида datagrid

1 выглядит примерно так
на col1 и col2
1 а
2 б
3 с
4 d

2 это как tihs
на col1 и col2
1 50,00
2 70,00
3 21,00
4 32,00

поэтому я хочу сначала datagridview вот так

на col1 и col2
а 50,00
б 70,00
с 21,00
д 32,00

можете ли вы помочь в этой проблеме
спасибо

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

я попробовал для следующих двух данных gridview но у меня есть ошибка

1 Ответов

Рейтинг:
2

RickZeeland

Вы могли бы использовать привязка данных, смотрите пример здесь: https://www.dotnetperls.com/datagridview-vbnet[^]
Затем использовать объект DataTable со всеми столбцами в нем в качестве источника DataGridView1.DataSource.


Member 14588284

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

RickZeeland

Тогда вам нужно выбрать что-то вроде этого:
Выберите a.name, b.значение из myTable1 a внутреннее соединение myTable2 b, где a.id = b.id;
Также смотрите: https://www.techonthenet.com/oracle/alias.php

Member 14588284

могу ли я использовать datagridview в запросе?

я говорю , что когда я использую join в своем запросе oracle, время становится все длиннее

RickZeeland

Тогда ваши таблицы, вероятно, довольно велики, и вам следует индексировать их в поле, которое вы хотите использовать в предложении WHERE.

Member 14588284

мой код такой

и ошибка это адрес
https://yadi.sk/i/4tMuaDzBZLyZ-g

Со мной, Рейон.
'.Columns(0).DefaultCellStyle.Формат = "#"
Попробуй
Для i = от 0 до .строк.Количество - 1

Для i2 = 0 в reyonadıfrm.Rows.Количество - 1
Если .Ряды(я).Ячейки(0).значение = reyonadıfrm.Rows(i2).Ячейки(0).Значение Тогда
.Ряды(я).Ячейки(0).значение = reyonadıfrm.Rows(i2).Ячейки(1).Значение
Конец, Если

Следующий i2


Затем я

Member 14588284

Суб матч()
С рейоном
В Резюме Об Ошибке Следующий
Для i = от 0 до .строк.Количество - 1
.Ряды(я).Ячейки(1).Значение = Val(.строки(i).Ячейки(1).Значение * 1)
Для i2 = 0 в reyonadıfrm.Rows.Количество - 1
'.Ряды(я).Ячейки(0).Значение.Метод toString()
Если .Ряды(я).Ячейки(0).значение = reyonadıfrm.Rows(i2).Ячейки(0).Значение Тогда
.Ряды(я).Ячейки(0).значение = .строки(i).Клеток(0).Значение &усилитель; "-" &амп; reyonadıfrm.Строк(И2).Ячейки(1).Значение
Выход Для
Конец, Если

Следующий i2


Затем я
Конец С
Конец Подводной Лодки


Я изменил свои коды вот так
так что я делаю это
но теперь у меня есть проблема с заказом

столбец порядка кодов(1) похож на текст
как эта ссылка;
https://yadi.sk/i/OtS6Xqe_Q-h48A

RickZeeland

Используйте SQL-запрос с предложением ORDER BY.

Member 14588284

но я получаю эти данные из datagridview

RickZeeland

Не используйте правильный запрос для получения данных из базы данных Oracle, SQL гораздо лучше подходит для этой цели. После того как вы прочитали данные в DataTable или списке, используйте DataBinding, чтобы привязать их к DataGridView.