PROBLEMA PARA INCLUIR LINHA NO DATAGRIDVIEW
Olá Pessoal, meu nÃvel em vb.net é de aprendiz.
Estou desenvolvendo um programa genérico para ler arquivos txt e mostrá-los no datagridview. Como os layouts dos arquivos são diferentes, gravei estes layouts em uma tabela no SQL, contendo os campos utilizados. No momento da execução do programa, você escolhe o arquivo e o layout a ser utilizado. A partir daà a idéia é colocar o conteúdo do arquivo txt lido em um datagrid com as respectivas colunas.
O meu problema está no momento de preencher o datagridview. Consegui criar as colunas e colocar o cabeçalho sem problemas, porém no momento de adicionar as linhas do txt, os campos não foram distribuÃdos pelas colunas e aparecem todos na primeira coluna por causa do comando: dgvRes1.Rows.Add(Linha). Sei que o comando correto seria dgvRes1.Rows.Add([Ô]Campo1[Ô], [Ô]Campo2[Ô], [Ô]Campo3[Ô] ...), mas como escrevi acima, estes Campos são variáveis (podem ser 3 como podem ser 50, pois dependem do layout do arquivo), achei que criando a variável linha e colocando os campos nela funcionaria, mas não foi o resultado que eu esperava. Alguém sabe como contornar o problema ? Abaixo vai o trecho do programa.
If IO.File.Exists(lblArq.Text) Then
fluxoTexto = New IO.StreamReader(lblArq.Text)
linhaTexto = fluxoTexto.ReadLine
While linhaTexto <> Nothing
Coluna = Split(linhaTexto, [Ô];[Ô])
Linha = [Ô][Ô]
For i = 0 To CpoReg - 1 [ô] CpoReg = Total das colunas (campos) do Registro
Linha = Linha + Coluna(i) + [Ô],[Ô]
Next
dgvRes1.Rows.Add(Linha)
linhaTexto = fluxoTexto.ReadLine
End While
End If
Estou desenvolvendo um programa genérico para ler arquivos txt e mostrá-los no datagridview. Como os layouts dos arquivos são diferentes, gravei estes layouts em uma tabela no SQL, contendo os campos utilizados. No momento da execução do programa, você escolhe o arquivo e o layout a ser utilizado. A partir daà a idéia é colocar o conteúdo do arquivo txt lido em um datagrid com as respectivas colunas.
O meu problema está no momento de preencher o datagridview. Consegui criar as colunas e colocar o cabeçalho sem problemas, porém no momento de adicionar as linhas do txt, os campos não foram distribuÃdos pelas colunas e aparecem todos na primeira coluna por causa do comando: dgvRes1.Rows.Add(Linha). Sei que o comando correto seria dgvRes1.Rows.Add([Ô]Campo1[Ô], [Ô]Campo2[Ô], [Ô]Campo3[Ô] ...), mas como escrevi acima, estes Campos são variáveis (podem ser 3 como podem ser 50, pois dependem do layout do arquivo), achei que criando a variável linha e colocando os campos nela funcionaria, mas não foi o resultado que eu esperava. Alguém sabe como contornar o problema ? Abaixo vai o trecho do programa.
If IO.File.Exists(lblArq.Text) Then
fluxoTexto = New IO.StreamReader(lblArq.Text)
linhaTexto = fluxoTexto.ReadLine
While linhaTexto <> Nothing
Coluna = Split(linhaTexto, [Ô];[Ô])
Linha = [Ô][Ô]
For i = 0 To CpoReg - 1 [ô] CpoReg = Total das colunas (campos) do Registro
Linha = Linha + Coluna(i) + [Ô],[Ô]
Next
dgvRes1.Rows.Add(Linha)
linhaTexto = fluxoTexto.ReadLine
End While
End If
tente assim
dim i as integer
i= dgvRes1.Rows.Add
dgvRes1.Rows(i).cells([Ô]Coluna1[Ô]).value=linha
dim i as integer
i= dgvRes1.Rows.Add
dgvRes1.Rows(i).cells([Ô]Coluna1[Ô]).value=linha
Funcionou. Obrigado.
Tópico encerrado , respostas não são mais permitidas