NUMERAR LINHA EM GRID
tenta no for usar o dataset.table.rows.count-1, ai conforme seu caso se for dataset, se for datatable vc adapta...
e o ideal pra disparar a função seria zerar por completo o grid tmb....
Nesse caso vc fica amarrado, a quem discorde, mas eu nunca me convenci, grid se carrega é no for next ou no while datared.red mesmo.
de qq forma fiz e testei, muito simples de resolver....
DataGridView1.DataSource = ds.Tables(0)[ô]preencho o grid
DataGridView1.Columns.Add([Ô]Numero[Ô], [Ô]Numero[Ô])[ô]crio uma coluna no grid e segue o for como sugeri alimentando essa coluna, na forma q já havia sido sugerido
For i = 0 To ds.Tables(0).Rows.Count - 1
DataGridView1.Rows(i).Cells([Ô]Numero[Ô]).Value = (i + 1)
Next
Citação::
Uma tarefas simples, ficou complicada, isso tudo porque carrega o controle vinculado datasource(ou a base, como queiram), por isso é que insisto que o melhor é carregar na unha, principalmente grid que é uma baita ferramenta de manuseio.
Nesse caso vc fica amarrado, a quem discorde, mas eu nunca me convenci, grid se carrega é no for next ou no while datared.red mesmo.
Nilson, realmente é melhor carregar a grid manualmente, sem passar um dataSource, pois você não fica amarrado a mesma para qualquer alteração.
MFLAVIO,
Verifique como você está chamando o seu método para carregar a grid, pois o exemplo que passei deverá ser executado após a grid estar com registros, assim como o NICKOSOFT explicou acima.
Citação::
:
Uma tarefas simples, ficou complicada, isso tudo porque carrega o controle vinculado datasource(ou a base, como queiram), por isso é que insisto que o melhor é carregar na unha, principalmente grid que é uma baita ferramenta de manuseio.
Nesse caso vc fica amarrado, a quem discorde, mas eu nunca me convenci, grid se carrega é no for next ou no while datared.red mesmo.
Nilson, realmente é melhor carregar a grid manualmente, sem passar um dataSource, pois você não fica amarrado a mesma para qualquer alteração.
MFLAVIO,
Verifique como você está chamando o seu método para carregar a grid, pois o exemplo que passei deverá ser executado após a grid estar com registros, assim como o NICKOSOFT explicou acima.
o projeto usa o Grid Vinculado a um dataSet ligado ao Firebird
Descobri algo
se eu verificar pela immediate Window a linha esta numerada
mais não aparece no grid em tela
mesmo eu aplicando um refresh não mostra, fica a Coluna Linha em branco com o restante do Grid carregado
Bem interessante e fácil colocação dentro de uma consulta.
Bom mesmo.
Vivendo e aprendendo.
Esse é um exemplo clássico de como poderiamos adicionar uma coluna no DataTable após a consulta para ser mostrado pro usuário.
DataTable.Columns.Add...
E ir adicionando o Ãndice nessa coluna.
[Ô]Ahhh, mas cara, eu não quero adicionar uma coluna no DataTable após a consulta[Ô].
Não criemos pânico!
Você ainda pode fazer isso direto na sua expressão SQL. Existe uma função no SQL Server chamada ROW_Number, que faz exatamente isso que você tá querendo.
Segue um pequeno exemplo que fiz com uma base de dados que tava usando aqui:
SELECT ROW_NUMBER() OVER (ORDER BY valor ASC ) AS Numeracao, expressao From expressoes
Sendo:
A numeração das linhas ordenadas pelo valor em ordem ascendente;
expressao o nome de um campo da tabela;
expressoes o nome da tabela;
Abraços!
Citação::
Testei seu código NICKOSOFT.
Bem interessante e fácil colocação dentro de uma consulta.
Bom mesmo.
Vivendo e aprendendo.
sim sim, mais uma vez, modifiquei o mÃnimo possÃvel da sugestão já dada....
outra forma mais pratica e mais usual é a q o D2ST sugeriu, em um grande retorno de dados se torna muito mais rápido....