duvida sobre datagrids em asp.net

DnlCY

Power Member
Ppl tou com uma duvida genérica para usar em varios problemas particulares:

Eu tenho uma datagrid preenchida numa webform e qual a melhor maneira de aceder aos dados que estao na datagrid (retirar valores de la dentro)? Ou não é possivel? e não pretendo aceder os dados ao dataset, pois no meu caso ainda nao percebi mt bem mas parece que o dataset k acedo esta vazio...
Mas a questao é mm como consigo retirar valores directamente da datagrid?

Ja agora a linguagem é vb.net
Tnks
DnlCY
 
Normalmente, sempre que uso uma datagrid, uso também uma datatable. A datatable está associada à datagrid como sendo a sua datasource. Qualquer alteração que faça é na datatable sempre.. e mesmo quando quero percorrer os valores percorro a datatable. Básicamente só uso a datagrif para mostrar os valores e capturar eventos.
 
oi,

Eu posso ajudar-te nisso mas tenho que saber exactamente o que pretendes.

Eu por exemplo uso muito as Datagrids nestas duas situações :

1) esquema Master/Detail

uma pessoa faz uma pesquisa num frame Master, e em caso do resultado ser um multiregisto apresenta uma Datagrid onde se pode seleccionar o registo pretendido

2) esquema de selecção

em campos de seleccção múltipla, costumo abrir uma popup com uma Datagrid onde uma pessoa selecciona os registos que pretende...
 
Podes sempre fazer uma função genérica para retirar os dados da Grelha para uma Tabela....
Dois "nested" loops devem fazer o trabalho...

Código:
// Criar a tabela que queres. Não o vou fazer aqui porque não sei os campos
System.Data.DataRow drRegisto;
for (System.Int16 i = 0 ; i < DataGrid.Rows.Count ; i++)
{
   drRegisto = dtTabela.NewRow();
 
   for (System.Int16 j = 0 ; j < dtTabela.Columns.Count ; j++)
   {
      drRegisto[j] = dgGrelha.Rows[i].ItemArray[j].ToString().Trim();
   }
 
   dtTabela.Rows.Add(drRegisto);
   drRegisto = null;
}
dtTabela.AcceptChanges();

Fiz o código de cabeça, não tou com o editor à frente, por isso é bem possível que alguns membros não tenham o nome que aqui pus...
 
Reparei agora que querias em VB.NET....
Se trocares ItemArray por Item, deve-te funcionar... Testa!

PS: Não custumo deixar as tabelas associadas à grelha. Preencho e depois retiro a associação...
 
Tnks pelas ajudas.
Eu dps acabei por conseguir aceder aos campos da datagrid do mesmo modo que o BraBo, mas como so queria um registo de cada vez, bastou-me retirar um dos campos (o identificador do registo) para depois fazer um novo select à BD só com esse registo pa um dataset (nao usei os ciclos)

Delta é possivel fazer popups usando so asp.net e vb.net?

outra questao sobre datagrids: Como é que consigo criar um botao do genero o deletecommad ou o editcommand e associa-lo a uma funcao? é que eu tenho uma datagrid com o registo de utilizadores do programa e para alem dos botoes de delete e edit associado a cada registo, tb gostava ter um botao de info, pois na datagrid eu nao mostro todas as informacoes sobre cada utilizador. O botao eu consigo cria-lo, mas depois nao consigo associa-lo a uma funcao, eventualmente por falta de um event handler para associar
 
===========
Delta é possivel fazer popups usando so asp.net e vb.net?
=====

Não e Sim

Tens que registar scripts para correr do lado do cliente, código javascript, como aliás o próprio VB.NET faz para lidar com eventos de postback

eu agora não tenho aqui o código, mas é algo assim :

me.registerstartupscript("startup","<script>window.open('pagina.aspx')</script>")

o que faço é criar um botão para selecção de valores, e depois ao ser clickado chama uma função VB.NET que invoca a linha de código que te disse. O cliente ao receber de volta a página, abre-lhe um POPUP...

podes usar essa função para incluir scripts que são corridos do lado do cliente, eu uso muito isso para mensagens, alertas e etc...

Quanto à tua 2ª pergunta também é possível, mas não tenho aqui o código, só na segunda-feira
 
Delta disse:
===========
Delta é possivel fazer popups usando so asp.net e vb.net?
=====

Não e Sim

Tens que registar scripts para correr do lado do cliente, código javascript, como aliás o próprio VB.NET faz para lidar com eventos de postback

eu agora não tenho aqui o código, mas é algo assim :

me.registerstartupscript("startup","<script>window.open('pagina.aspx')</script>")

o que faço é criar um botão para selecção de valores, e depois ao ser clickado chama uma função VB.NET que invoca a linha de código que te disse. O cliente ao receber de volta a página, abre-lhe um POPUP...

podes usar essa função para incluir scripts que são corridos do lado do cliente, eu uso muito isso para mensagens, alertas e etc...

Quanto à tua 2ª pergunta também é possível, mas não tenho aqui o código, só na segunda-feira

não parece complicado:D tnks mas tb so segunda é que posso experimentar isso lol e tb aguardo resposta à 2ªpergunta: falta-me mm so saber como faço a associaçao entre o botao e a funcao, se existe um event handler para o caso ou se tenho k o criar de algum modo:)
 
Back
Topo