Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá,
Estou com problemas para ler arquivo texto passar para um datatable e mostrar num gridview. Vejam o código:
ArrayList Texto = new ArrayList();
static DataGrid grdRetornoEscelsa = new DataGrid();
DataTable dbDados = new DataTable();
DataRow dr;
StreamReader SR;
string S = string.Empty;
dbDados.Columns.Add("CDC");
dbDados.Columns.Add("Nome");
dbDados.Columns.Add("Parcela");
dbDados.Columns.Add("DataMovto");
dbDados.Columns.Add("ValorFatura");
dbDados.Columns.Add("CodRetorno");
dr = dbDados.NewRow();
SR = File.OpenText(Server.MapPath("~/App_Data/Escelsa/Retorno/" + Request.QueryString["Pasta"]));
S = SR.ReadLine();
i = 1;
while (S != null)
{
S = SR.ReadLine();
Texto.Add(S);
Response.Write(S + "<br>");
dr["CDC"] = S.Substring(1, 9);
dr["Nome"] = "";
dr["Parcela"] = S.Substring(10, 2);
dr["DataMovto"] = S.Substring(36, 8);
dr["ValorFatura"] = S.Substring(44, 15);
dr["CodRetorno"] = S.Substring(59, 2) + " ERRO";
dbDados.Rows.Add(dr);
i = i + 1;
}
grdEscelsa.DataSource = dbDados;
grdEscelsa.DataBind();
SR.Close();
Quando rodo a página, ele lê somente as duas primeiras linha do arquivo texto em S e abandona a loop. Se eu rodar somente co o response.write(S), funciona normalmente.
Fiz um debug na execução, ele dá o seguinte erro: Esta linha já pertence a esta tabela na linha dbDados.Rows.Add(dr);
Alguém ajuda ????
Obrigado.
Carregando comentários...