APROVEITAR

Fórum Múltiplas seleções com checkbox no datagrid #13357

28/12/2009

0

Solicito ajuda no seguinte: tenho um datagrid com várias contas a receber e preciso: 1) colocar um checkbox header pra marcar e desmarcar todos os itens do datagrid; 2) colocar um checkbox em cada linha para o usuario marcar os itens que desejar; 3) colocar um button pra varrer o datagrid e excluir ou baixar todos os itens selecionados de uma vez. encontrei vários exemplos na internet, mas todos C# ou VB, preciso de um exemplo em Delphi 2005. Obrigado, Melk.
Melkcimar Costa

Melkcimar Costa

Responder

Posts

28/12/2009

Devmedia

Senhor,
cada dúvida deve ser postada em um chamado diferente.
por favor, escolha qual dúvida deseja tratar nesse chamado para que o consultor possa dar prosseguimento ao mesmo.
Responder

Gostei + 0

28/12/2009

Melkcimar Costa

Senhores, a dúvida é uma só, eu coloquei em passos 1,2... pra facilitar o entendimento, eu preciso de uma ajuda, como usar checkbox num datagrid com multiplas seleções e retornar estes valores selecionados. Obrigado, Melk.
Responder

Gostei + 0

30/12/2009

Rodrigo Mourão

Olá,


1) Primeiro você terá que cirar uma template columm no seu data grid que já existe. Para isso vc terá que localizar o data grid no aspx. Abaixo tem um exemplo do que terá que ser adicionado. As Linhas em vermelho são as que vão adicionar o CheckBox. Lembre-se que as linhas tem que ser adicionada no código aspx que já existe no seu projeto.

<asp:datagrid id="myGrid" runat="server"
width="92%" cellpadding=5 font-size="8pt" autogeneratecolumns=false>
<columns>
<asp:templatecolumn>
<itemtemplate>
<asp:CheckBox id="CheckBox1" runat="server"></asp:CheckBox>
</itemtemplate>
</asp:templatecolumn>

<asp:boundcolumn headertext="Title"
datafield="title" />
<asp:boundcolumn headertext="Notes"
datafield="notes" />
</columns>
</asp:datagrid>

2) Para que possa identificar qual check box esta selecionado basta fazer no clique de um botão por exemplo:


var
  i: Integer;
  Chk: CheckBox;
begin
   for i := 0 to DataGrid1.Items.Count-1 do
   begin
     if (DataGrid1.Items[I].ItemType = ListItemType.Item) or
        (DataGrid1.Items[I].ItemType = ListItemType.AlternatingItem) then
     begin
       Chk := CheckBox(DataGrid1.Items[I].FindControl('CheckBox1');
       if Chk.Checked then
         Response.Write('Checado !!!!');
     end;
   end;
end;

Substitua a linha vermelha pelo código que você deseja que seja feito caso o checkbox esteja marcado !!!

Att,




Responder

Gostei + 0

02/01/2010

Rodrigo Mourão

Olá Amigo,

Fez a alteração ???

Estamos aguardando para encerrr o chamado !!!

Att,

Responder

Gostei + 0

04/01/2010

Rodrigo Mourão

Olá,

Estaremos colocando o chamado como concluído.

Caso ainda tenha alguma dúvida você poderá reabrí-lo que voltaremos a atendê-lo.

Att,


Responder

Gostei + 0

04/01/2010

Melkcimar Costa

desculpe a demora, mas viajei no final de ano e só agora pude fazer o teste, funcionou sim, selecionei 2 checkbox, mas ele só mostra o último checkbox marcado, gostaria de varrer todos os itens marcados e deletar tudo de uma vez dentro do begin end que coloquei o showmessage. Obrigado. procedure TWebForm1.Button1_Click(sender: System.Object; e: System.EventArgs); var I: Integer; Chk: CheckBox; begin for I := 0 to dgContasAReceber.Items.Count-1 do begin if (dgContasAReceber.Items[I].ItemType = ListItemType.Item) or (dgContasAReceber.Items[I].ItemType = ListItemType.AlternatingItem) then begin MessageBox1.ShowMessage(dgContasAReceber.Items.Count); Chk := CheckBox(dgContasAReceber.Items[I].FindControl('CkItem')); if Chk.Checked = True then begin MessageBox1.ShowMessage(dgContasAReceber.Items.Item[I].Cells[3].Text + '/' + dgContasAReceber.Items.Item[I].Cells[4].Text ); end; end; end; end;
Responder

Gostei + 0

09/01/2010

Melkcimar Costa

deu certo! obrigado.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar