Fórum Converter código C# em Delphi #279206

27/04/2005

0

Preciso converter esse código c para o delphi no asp.net. Esse código vai pegar todas as checkbox marcadas na datagrid para depois executar o comando de exclusão no banco....



private Button1_click(...){
string ids;
foreach(DataGridItem item in this.DataGrid1.Items){
if (item.ItemType == ListItemType.AlternatingItem || item.ItemType == ListItemType.Item)
{
if(((CheckBox)item.FindControl(´chkMark´)).Checked){
ids += Convert.ToString(this.DataGrid1.DataKeys[item.ItemIndex]) + ´, ´;
}
}
}
}

Agora basta voce chamar a funcao que exclui estes registros da DB, utilizando a clausula IN no DELETE. Exemplo:

DELETE FROM Tabela WHERE ID IN (1, 2, 3)


Rzcoimbra

Rzcoimbra

Responder

Posts

28/04/2005

Rzcoimbra

alguém pode me ajudar


Responder

Gostei + 0

29/04/2005

Rzcoimbra

O mínimo já ajudaria....


Responder

Gostei + 0

29/04/2005

Rjun

Em Delphi não existe o comando FOREACH. Dê uma olhada no link abaixo :

http://delphi.about.com/cs/adptips2004/a/bltip0404_3.htm


Responder

Gostei + 0

29/04/2005

Massuda

Se você estiver usando D2005...
var
  Ids: string;
  Item: DataGridItem;
...
  // for..in..do equivale a foreach
  for Item in Self.DataGrid1.Items do begin
    if (Item.ItemType = ListItemType.AlternatingItem) or 
      (Item.ItemType = ListItemType.Item) then begin

      if CheckBox(Item.FindControl("chkMark")).Checked then begin
        Ids := Ids +
          Convert.ToString(Self.DataGrid1.DataKeys[Item.ItemIndex]) + ", "; 
      end;
    end;
  end;
Como sempre, não testei (nem tenho como testar).


Responder

Gostei + 0

02/05/2005

Rzcoimbra

valeu cara.. funcionou.

porem só está dando um errinho bobo

if Ids <> nil then
begin
ExcluirCategorias.Parameters[´categoria_id´].Value := Ids;
Connection.Open();
ExcluirCategorias.ExecuteScalar();
DataCategoria.Fill(DataSetTip1);
DGCategorias.DataBind();
Connection.Close();
end;

ele exclui do banco de dados porém nao atualiza na tela. o que pode ser.


Responder

Gostei + 0

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

Aceitar