COLOCAR TEXTO NO LISTVIEW E CONTROLAR COLUNAS

GABRIELTINTI 21/09/2013 20:28:04
#429131
Boa noite,

Estou precisando criar um programa que eu possa selecionar um arquivo txt do meu computador. Preciso que o ListView possa abrir esse arquivo, e que ele crie automaticamente as colunas presentes do arquivo txt. Eu tenho um arquivo txt que possui varias colunas, mas a cada arquivo possui uma quantidade de colunas diferentes.

Abraços e obrigado
PEGUDO 23/09/2013 11:22:33
#429160
Resposta escolhida
Cara,
O básico do ListView é o seguinte:
Vou fazer um exemplo de listar um arquivo txt, cujas colunas são separadas por ponto e vírgula e que contenha 3 colunas:
Dim Arquivo As New IO.StreamReader([txt-color=#e80000][Ô]Caminho_do_arquivo.txt[Ô][/txt-color])

While Not Arquivo.EndOfStream
Dim Vetor() As String = Split(Arquivo.ReadLine,[txt-color=#e80000][Ô];[Ô][/txt-color])
Dim Item As ListViewItem = ListView1.Items.Add(Vetor(0))

Item.SubItem.Add(Vetor(1))
Item.SubItem.Add(Vetor(2))
Next

Como você falou que as colunas diferenciam então você deve criar uma exceção que verifique o tamanho do Vetor e colocar um If...Else para inserir SubItens no ListView.
Por exemplo:
No código acima eu tenho 3 colunas, mas se o Vetor retornasse 2 colunas, eu colocaria a terceira coluna com uma string vazia.
GABRIELTINTI 23/09/2013 11:57:13
#429164
Sim, mas ainda nao consegui resolver esse problema

a parte do código

[ô] Item.SubItem.Add(Vetor(1))
Item.SubItem.Add(Vetor(2))
[ô]
Nao está dando certo
PEGUDO 23/09/2013 13:19:34
#429168
Mas as suas colunas, no arquivo txt, estão separadas por ponto e vírgula?
No meu arquivo txt, está assim:
Coluna1, linha 1;Coluna 2, Linha 1;Coluna 3, Linha 1
Coluna1, linha 2;Coluna 2, Linha 2;Coluna 3, Linha 2
Coluna1, linha 3;Coluna 2, Linha 3;Coluna 3, Linha 3

Repare que a [Ô]Coluna 1, Linha 1[Ô] está separada por ponto e vírgula da [Ô]Coluna 2 , linha 2[Ô].
se seu arquivo não tiver ponto e vírgula para separar as colunas, o exemplo não vai funcionar.
GABRIELTINTI 23/09/2013 23:05:20
#429187
No meu, elas nao são separadas por [Ô];[Ô], nao teria jeito de fazer um [Ô]for[Ô], para varrer o arquivo de texto e assim dividir certo as colunas, para que haja mais esse erro?
PEGUDO 27/09/2013 10:01:27
#429331
Cara,
O [Ô]While[Ô] já é o looping;
O [Ô]Vetor[Ô] separa as colunas,
agora se seu ListView só tem um Coluna o
Item.SubItem.Add(Vetor(1))
Item.SubItem.Add(Vetor(2))
não é necessário.
O[Ô]SubItem[Ô] é para quando o ListView possui mais de uma coluna.
Tópico encerrado , respostas não são mais permitidas