Соответствие DataGridView

У меня есть 2 DataGridView (DGV).

theChipDGV будет содержать подобные данные (за исключением большого количества столбцов):

______________________________________________________________
|  NAME  |  P/N   |  X     |  Y     |  ROTATION  |  PACKAGE  |
|________|________|________|________|____________|___________|
| R16    | 147479 | 20.325 | 100.000| 0          | 0603      |
| C6     | 14739  | -5.325 | -10.105| 180        | 0603      |
| U45    | 123456 | 12.345 | 12.345 | 45         | 0402      |
|________|________|________|________|____________|___________|

theDataBaseDGV будет содержать подобные данные (за исключением большого количества столбцов):

____________________________________________________________________________________________
|  PACKAGE  |  DESCRIPTION  |  FEEDER  |  VISION  |  SPEED  |  MACHINE  |  WIDTH  |  TIME  |
|___________|_______________|__________|__________|_________|___________|_________|_______ |
| PLCC20    |  N/A          | 25MM     |  N/A     |  3      | UNIVERSAL |  12MM   |  0.05  |
| 0603      |  0603C_1.0    | 8X4      |  1       |  1      |   FUJI-1  |  8MM    |  20    |
| 0603      |  0603R_1.0    | 12X4     |  1       |  5      |   FUJI-2  |  16MM   |  0.20  |
|___________|_______________|__________|__________|_________|___________|_________|_______ |

Что я хотел бы сделать, так это сопоставить столбец в theChipDGV, помеченный PACKAGE, с таким же помеченным столбцом в theDataBaseDGV. Если есть совпадение, вся строка будет объединена в новый DGV (назовем его: theFinalDGV). Кроме того, если тип ПАКЕТА соответствует и также находится в следующей строке (например, 0603), он проверит, начинается ли столбец с меткой Name в theChipDGV с R или C. В зависимости от того, с чего он начинается, будут определяться остальные столбцы из theDataBaseDGV, которые будут использоваться.

Итак:

theFinalDGV будет выглядеть так:

_____________________________________________________________________________________________________________________________________________
|  NAME  |  P/N   |  X     |  Y     |  ROTATION  |  PACKAGE  |  DESCRIPTION  |  FEEDER  |  VISION  |  SPEED  |  MACHINE  |  WIDTH  |  TIME  |
|________|________|________|________|____________|___________|_______________|__________|__________|_________|___________|_________|________|
| R16    | 147479 | 20.325 | 100.000| 0          | 0603      |  0603R_1.0    | 12X4     | 1        | 5       | FUJI-2    | 16MM    | 0.20   |
| C6     | 14739  | -5.325 | -10.105| 180        | 0603      |  0603C_1.0    | 8X4      | 1        | 1       | FUJI-1    | 8MM     | 20     |
| U45    | 123456 | 12.345 | 12.345 | 45         | 0402      |               |          |          |         |           |         |        |
|________|________|________|________|____________|___________|_______________|__________|__________|_________|___________|_________|________|

Обратите внимание, что если совпадений нет, столбцы остаются пустыми.

So:

Кто-нибудь знает, как я могу это сделать? В основном я хотел бы знать, как сопоставить значения из 1 столбца с другим, и если есть несколько столбцов из theDataBaseDGV, которые имеют одинаковые значения... то как правильно их сопоставить.


person theNoobGuy    schedule 20.08.2011    source источник
comment
Какой у вас источник данных, MS-SQL?   -  person Coops    schedule 22.08.2011
comment
@CodeBlend: я действительно решил это. Я опубликую свой ответ сейчас.   -  person theNoobGuy    schedule 22.08.2011
comment
Если источник данных из базы данных, то простой запрос должен дать вам результат, в отличие от многих строк ниже?   -  person Coops    schedule 22.08.2011
comment
@CodeBlend: К сожалению, это не из базы данных :(   -  person theNoobGuy    schedule 22.08.2011