Datakeys no evento rowcommand
12/05/2010
0
Olá Senhores
Bom , vamos lá.
Tenho um gridview com paginação e com um botão .
Esta gridview possui dois datakeysnames.
Ao clicar no botao , preciso pegar o valor da datakey e conforme o valor , redirecionar ou bloquear o acesso a outra página.
Problema >
Qdo estou na primeira página , tudo funciona ,mas somente na primeira.
Qdo acesso a segunda página e clico no dito botão , onde dispara o
evento rowcommand
...
String variavel =MinhaGrid.Datakeys[indice].Values[indice do datakey].toString()
switch (variavel)
case "Bloqueado"
....codigo
me retorna um erro dizendo que o indice esta fora do range...
Mas , para debugar , eu exibo o valor do indice e está tudo ok...
exemplo ,,,,qdo mudo para a segunda pagina a primeira linha me retorna indice "0" ,,isto é certo né?
para capturar o indice da linha uso
int indice - Convert.int32(e.commandarguments)
Bom ,não estou com o Visual Studio , portanto algum trecho do comando esteja errado ,
mas o problema não está no código e sim em alguma definição do indice..na hora do rowcommand...
Alguém pode me ajudar...Já perdi um tempinho...por isso estou postando..grato desde já
Eiji
Curtir tópico
+ 0
Responder
Posts
12/05/2010
Pedro Maitan
Uma forma de pegar o valor da linha é adicionando o valor no CommandArgument, Ficando assim.
LinkButton ID="LinkButton1"
CommandName="Busca"
CommandArgument=''
runat="server"
LinkButton ID="LinkButton1"
CommandName="Busca"
CommandArgument=''
runat="server"
Responder
13/05/2010
Eiji
Olá , obrigado pela dica
Mas eu estou usando um command field no gridview , portanto não tenho como usar
o command argument .Eu consigo resolver o problema , usando outros metodos , como
por exemplo , no command databound , já estou mudanfo a cor do conteúdo da coluna que
me mostra quais clientes estão bloqueados .Poderia fazer um if conforme a cor.
Mas gostaria de saber trabalha com este datakey.
Pois parece ser simples ,mas não me traz valores qdo pagino .
mesmo que eu coloque o valor do indice direto Ex.=
if (e.CommandName == "Pedido")
{
//int ind = Convert.ToInt32(e.CommandArgument);
String situacao = GridBusca.DataKeys[0][1].ToString();
Responder
Clique aqui para fazer login e interagir na Comunidade :)