Esse título não tem nada demais, é apenas a junção de dois dados do tipo DataTable. O que vou mostrar hoje é um método que recebe dois parâmetros do tipo DataTable, junta os dois dados em um só e retorna o valor.
Usado: Visual Studio 2010, Linguagem C#.NET, Método, Framework.
Como falado em outros artigos publicados, foi criado um método do tipo public e estático. Isso facilita na criação de uma dll ou framework de utilidades que pode ser usado em qualquer projeto.
Na primeira linha é verificado se os dados enviados são diferentes de null para dar continuidade no método. Após a verificação, é feita uma cópia do primeiro DataTable usando o comando Copy(), em seguida um foreach começa a vasculhar o segundo parâmetro.
Dentro do foreach, é criado uma nova linha e adicionada a um array que no final adiciona os dados ao novo DataTable. No final, o novo DataTable é retornado no caso de não erro. Veja o código 1.1.
public static DataTable JoinDataTable(DataTable oDataTable1, DataTable oDataTable2) { if (oDataTable1 == null || oDataTable2 == null) return null; DataTable odtt = oDataTable1.Copy(); foreach (DataRow row in oDataTable2.Rows) { try { DataRow r = odtt.NewRow(); r.ItemArray = row.ItemArray; odtt.Rows.Add(r); } catch (Exception e) //if the schema are not equal { string x = e.Message; break; } } return odtt; } |
Code 1.1
O tratamento de erro não é um dos melhores, dessa forma, se for utilizar este método mude apenas a parte do catch fazendo com que retorne algum erro real ao desenvolvedor que for utilizar o método.
Qualquer dúvida, pode entrar em contato pelo site.