Listar em c#

apocalipsus

Power Member
Boas
Tenho aqui um pekeno problema. Perciso de ler dum ficheiro varias linhas de informaçao (ate aki consigo fazer +-), e mete-las no programa a aparecer, como estou a usar o visual studio.net e usando a linguagem c# qual a melhor maneira de fazer isto?
a linha de informaçao é assim:
03-06-2005 23:00, 420.1, 8.23, 819, 24.6, 14.70, 182.6, 23, 0.48

onde podem ver tem varias informaçoes, claro que ha mais linha com datas e valores diferentes que tb tem de ser mostradas.
Mais 2 coisas: Cada coluna tem de ter um titulo, e quando se carregar por exemplo no titulo esta coluna tem de ser ordenada por ordem crescente ou decrescente.
Axo que me fiz entender.


Um exemplo muito bom do que quero pode ser visto no explorer do windows:

como podem ver cada coluna tem o seu titulo e quando carrego nele akela coluna é ordenada por ordem crescente (ou decrescente)

Obrigado por ***** ajuda
 
isso da ordenação é uma propriedade do controlo, vê no msdn.

quanto a leres linhas do ficheiro:

System.IO.StreamReader reader = new System.IO.StreamReader( @"path" );
string linha = reader.ReadLine();
etc etc.

se depois quiseres as palavras de cada linha, basta usares o método Split() das strings.
algo do genero:

System.IO.StreamReader reader = new System.IO.StreamReader( @"path" );
string [] palavras = reader.ReadLine().Split( ' ' );

etc, etc.
agora só tens de aplicar isso de maneira a resolver o teu problema.
 
Hum isso ja eu sabai fazer. O que eu gostava de saber era o que devo usar para mostrar isso tudo certinho no programa, estive a ver o datagrid mas nao percebi muito dakilo.

Boas
Ja tive a ler e parece que o melhor para o meu caso é isto listview mas eu nao vinha para aqui escrever se nao tivesse problemas :cool:
Pois é criei assim o meu list view
this.listView1 = new System.Windows.Forms.ListView();
nada de mais.
E agora quero meter colunas que fiz assim :
inicializaçao :
this.colData = new System.Windows.Forms.ColumnHeader();
this.colPH = new System.Windows.Forms.ColumnHeader();

e mais á frente
// listView1
//
this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.colData,
this.colPH});
this.listView1.Location = new System.Drawing.Point(344, 32);
this.listView1.Name = "listView1";
this.listView1.TabIndex = 14;
this.listView1.View = System.Windows.Forms.View.Details;
//
// colData
//
this.colData.Text = "Data";
//
// colPH
//
this.colPH.Text = "PH";


Axo que da para perceber que tenho 2 colunas uma xamanda colData e outra xamada colPH
Agora a minha duvida como é que eu preencho estas colunas com informaçao??
Nao estou mesmo a conseguir, no msdn diz isto
listView1.Items[0].SubItems.Add("John Smith");
listView1.Items[0].SubItems.Add("Accounting");

mas da-me sempre um erro que o valor esta fora do "range"
help...
 
Última edição:
A melhor maneira mesmo é usares uma datagrid, ou uma griddatabound.

Para o ultimo caso crias uma DataTable, a qual associas como datasource da grid.

Tens é de criar as colunas da datatable e preenche-la com os dados.

Googla: griddatabound e datatable
 
Back
Topo