GridView Editável com DropDownList e CheckBox

29/06/2009

Olá, Obrigado pela competência e rapidez rodrigão, estou precisando de mais uma, confesso que isso é viciante.

Explicando: Tenho uma tabela de:

Contas: IDConta(smallint), conta (varchar 30), e uma tabela de
Lançamentos: (IDLan(Integer), CentroDeCusto(SmallInt), data, idconta, jan, fev, mar.

Eu preencho meu Gridview através de uma store procedure, que tem um inner join na tabela de Contas, porem preciso mostra para o usuário um GridView com um DropDownList com as contas e no final da Linha um CheckBox de verificado ou Sim/Não

Tipo assim

Conta                            Jan              Fev              Março            Verificado
Pessoal                       80.000        90.000         110.000              Sim
Equipamentos               5.000          5.000            5.000               Nao
Treinamentos             10.000        8.000                                      Nao
material informatica         500                                                       Nao

Trabalho com MSSQLServer2005

Paulo Freire

Paulo Freire

Curtidas 0

Respostas

Rodrigo Mourão

Rodrigo Mourão

29/06/2009

olá amigo !!!

Essa é boa ein rsrsrs. Vou cair dentro aqui e assim que conseguir posto a solução.

Abs !!

Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi


GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

29/06/2009

Olá amigo !

Estou trabalhando com afinco neste chamado. A coisa não esta sendo tão simples quanto imaginei. Peço a gentileza de aguardar mais um pouco. Normalmente não demoro tanto em respoder chamados.

Abs !!!


GOSTEI 0
Paulo Freire

Paulo Freire

29/06/2009

Rodrigo vcs tem crédito conosco, só esqueci de mencionar que aqui no Quartel sempre trabalhamos com Store Procedure para Manipular Dados, não sei se isso ajuda, mas não se preocupe com o tempo.
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

29/06/2009

Olá Amigo !!

Brm estamos progredindo aqui no problema, ou melhor, na solução. Preciso que me diga uma coisa. Esse checkbox onde vc diz que esta verificado ou não, ele não tem campo correspondente no banco, correto?

Outra coisa vc vai querer fazer alguma coisa com os registros que forem verificados, por exmplo baixar os que foram verificados ?

Fico no aguardo das respostas a estas questões. De qualquer forma eu continuo aqui no chamado, estas perguntas são apenas para eu poder identificar mais algumas necessidades.

Abs!!

Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi


GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

29/06/2009

Ok, Vamos a Solução.

Bem eu estava partindo pelo evento OnRowDataBound, mas isso não estava me agradando assim eu parti para o aspx mesmo e o resultado ficou bem melhor. E preciso deixar claro que o que será feito no GridView é uma espécie de De-Para, ou seja, a sua procedure terá que trazer o IDConta mas não vai exibir na Grid e terá um outro Select para pegar todas as contas e colocar num DropDwnList com e exibir o nome correto em cada Linha. Sendo assim va atá a pagina aspx e dentro das Tags da gridview coloque o codigo abaixo:

 <asp:TemplateField headertext="Conta">
         <ItemTemplate>
              <asp:DropDownList ID="DDL_CONTAS" runat="server" DataSourceID="SqlContas"
                                DataTextField="Conta" DataValueField="ContasID"
                                SelectedValue='<%# Bind("ContasID") %>' Width="223px">
              </asp:DropDownList>
              <asp:SqlDataSource ID="SqlContas" runat="server"
                                  ConnectionString="<%$ ConnectionStrings:DBConsultoriaConnectionString %>"
                                  SelectCommand="SELECT ContasID, Conta FROM dbo.Contas">
              </asp:SqlDataSource>
         </ItemTemplate>
</asp:TemplateField>
<asp:TemplateField headertext="Verificado">
            <ItemTemplate>
                       <asp:CheckBox id="CHK_Verificado" runat="server"></asp:CheckBox>
            </ItemTemplate>
 </asp:TemplateField>

Repare que o que eu fiz foi criar duas colunas templates. NA primeira eu criei um DropDownList e um SqlDataSource. Eu configurei o dropdown para pegar os dados atraves do SqlDataSource tendo a chave o campo CotasID e Value como Contas. Em seguido eu digo onde o DropDown vai pegar o parametro para exibir o nome da conta correta. Isso e feito em: SelectedValue='<%# Bind("ContasID") %>'. Isto é, ele vai pegar o campo contasID na GridView, posicionar o index do DropDown nele e exibir o nome.

So não esqueca de mudar o atributo <%$ ConnectionStrings:DBConsultoriaConnectionString %> para o nome do seu connection string.

Abaixo a imagem da app rodando.



Espero ter ajudado !

Abs!

Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi


GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

29/06/2009

GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

29/06/2009

Olá Amigo,

Há mais alguma dúvida ?

Estamos aguardando para encerrar o chamado.

Abs,

Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi


GOSTEI 0
Paulo Freire

Paulo Freire

29/06/2009

Olá Rodrigo estou retornando hoje de um suporte fora de são Pualo, irei testar e lhe retorno.
GOSTEI 0
Paulo Freire

Paulo Freire

29/06/2009

Muito bom Rodrigo, porem não consigo alterar os campos com valores, terei que fazer templates pra todos ? tenho meses de Janeiro a Dezembro, e outra coisa para Salvar como faria pois minha Stores Procedures são Select, Insert e Delete numa só procedure só passo um parametro de S, I ou D.
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

29/06/2009

Olá Amigo cada dúvida tem que ser passada em um chamado.  Está de como atualizar preciso que seja aberto um novo chamado para isso. Para poder lhe explicar como o .Net funciona.

Quanto a alterar os valores vc não consegue pois na montagem da grid vc nao informou a condição para atualização. Se quiser abra um chamado sobre como atualizar registro com GRID View no .Net. Peça no chamado que seja encamionhado para mim que lhe ajudo a entender como a mágica funciona para que voce possa aplicar em seus projetos.

Abs!!

Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
GOSTEI 0
POSTAR