1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

duvida sobre datagrids em asp.net

Discussão em 'Programação' iniciada por DnlCY, 13 de Outubro de 2005. (Respostas: 7; Visualizações: 828)

  1. DnlCY

    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
     
  2. CoolZero

    CoolZero Power Member

    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.
     
  3. Delta

    Delta Suspenso

    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...
     
  4. BraBo

    BraBo Banido

    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...
     
  5. BraBo

    BraBo Banido

    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...
     
  6. DnlCY

    DnlCY Power Member

    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
     
  7. Delta

    Delta Suspenso

    ===========
    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
     
  8. DnlCY

    DnlCY Power Member

    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:)
     

Partilhar esta Página