Merge DataTable

mercoledì 02 settembre 2009 - 18.57

ans66 Profilo | Junior Member

Ho due dataTable:

1) DataTable Listino con campi: Codice, Descrizione, Prezzo Qta
2)DataTable 4Col con campi: Codice, Descrizione, colonna5, colonna6, colonna8, colonna10

Devo creare un terzo DataTable che raggruppa i primi due seguendo i seguenti criteri:

a) se dataTable Listino e 4Col presentano uno stesso codice
a1) aggiungo al nuovo DataTable riga con: Codice, Descrizione, Prezzo Qta colonna5, colonna6, colonna8, colonna10
b) aggiungo riga con Codice, Descrizione, Prezzo Qta (Solo Listino)
c) aggiungo riga con Codice, Descrizione, colonna5, colonna6, colonna8, colonna10 (Solo 4Col)

ESEMPIO:

RIGA 1: CODICE=A1 DESCRIZIONE=UNO, PREZZO=1,QTA=1 (listino)
RIGA 2: CODICE=A1 DESCRIZIONE=UNO, COL5=55,COL6=66,COL8=88, COL10=100 (4col)
RIGA 3: CODICE=A3 DESCRIZIONE=TRE, COL5=3,COL6=3,COL8=3, COL10=3
RIGA 4: CODICE=A4 DESCRIZIONE=QUATTRO, PREZZO=1,QTA=1 (listino)

DEVO OTTENERE NEL NUOVO DATATABLE:
RIGA 1: CODICE=A1 DESCRIZIONE=UNO, PREZZO=1,QTA=1,COL5=55,COL6=66,COL8=88, COL10=100 (MERGE RIGA 1 e 2 PERCHE` CODICE UGUALE)
RIGA 2: CODICE=A3 DESCRIZIONE=TRE, COL5=3,COL6=3,COL8=3, COL10=3 (CODICE DIVERSO - NO MERGE)
RIGA 3: CODICE=A4 DESCRIZIONE=QUATTRO, PREZZO=1,QTA=1 (CODICE DIVERSO - NO MERGE)


Ho provato a creare una mia funzione (senza Merge) ma purtroppo alcune righe risultano ripetute quando passo il datatable ad un Datagridview.

Come si puo` usare Il comando Merge di VB2008?

Grazie

tonyexpo Profilo | Senior Member


ciao

allora: nel datatable in cui hai i valori devi aggiungere la chiave primaria con cui potrà fare i confronti che ti interessano, altrimenti .net non capisce che sono doppioni
es: dt.Constraints.Add("PK",dt.Columns[0],true);



poi quando fai il merge
es: newdt.Merge(dt,true);


ovviamente i tipi devono essere uguali
se vuoi approfondire, msdn cerca Merge() di datatable
Antonio Esposito
MCTS .NET 3.5 WCF
MCTS .NET 3.5 Windows Forms
MCTS .NET 2.0 Distributed applications
MCP
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5