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.