2009-10-28 5 views
0

Je suis confronté à un léger problème avec les deux événements se heurtant les uns aux autres. J'ai une colonne affichant un bouton de lien, de sorte que lorsque l'utilisateur clique dessus, il les dirige vers une autre page affichant les données dans la ligne spécifique de la grille de données.OnPageIndexChanged Clash avec OnItemCommand

En dessous de la grille de données, j'ai des pages de chiffres, qui se trouvent être un bouton de lien et lorsque l'utilisateur clique sur la page 2, il affiche les données de la page 2 de la grille de données. Le problème maintenant est que, quand je veux cliquer à la page 2, il redirigerait à la page suivante, qui est l'événement de ma ItemCommand.

Existe-t-il des façons dont je pourrais faire la Différencier DataGrid, qui est le bouton de lien correct pour lire,

Alors que les deux d'entre eux n'opposez pas les uns aux autres ??

RPYGrid_ItemSelect vide protégé (expéditeur d'objet, DataGridCommandEventArgs e) { DataSet dsGenRequestPayment = new DataSet(); dsGenRequestPayment = GenerateRequestPayment(); DataTable dtRequest = new DataTable(); dtRequest = dsGenRequestPayment.Tables [0];

if (((LinkButton)e.CommandSource).CommandName == "ItemSelect") 
    { 
     try 
     { 
      int iIndex = e.Item.DataSetIndex; 
      string sId = RPYGrid.DataKeys[iIndex].ToString(); 

      foreach (DataRow drRequest in dtRequest.Rows) 
      { 
       string sRequestID = drRequest["RequestNo"].ToString(); 

       if (sId == sRequestID) 
       { 
        sRequestNo = drRequest["RequestNo"].ToString(); 
        sAmount = drRequest["RequestAmt"].ToString(); 
        sAttachment = drRequest["FilePath"].ToString(); 
        sReqCompanyID = drRequest["RequestCompanyID"].ToString(); 
        sPayCompanyID = drRequest["PayerCompanyID"].ToString(); 
        sReqCoName = drRequest["RequestCoName"].ToString(); 
        sPayCoName = drRequest["PayerCoName"].ToString(); 
        sRequestDate = drRequest["RequestDt"].ToString(); 
       } 
      } 
      dtRequest.Clear(); 
      dsGenRequestPayment.Clear(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message.ToString()); 
     } 

    } 
} 

protected void RPYGrid_PageIndexChanged(object sender, DataGridPageChangedEventArgs e) 
{ 
    RPYGrid.CurrentPageIndex = e.NewPageIndex; 
    GenerateRequestData(); 
} 

Répondre

1

Est-ce que cela vous arrive encore en ayant différents noms de commande dans vos boutons de liaison? Je pense que je n'ai pas très bien compris votre question

est ce que vous voulez faire?

Select Case (CType(e.CommandSource, LinkButton)).CommandName 
      Case "paging" 
       'dopaging 
      case "redirect" 
       'doredirect 

      Case Else 
    End Select 
+0

Hey Pablo, merci pour le temps de répondre à mon problème ... J'ai un linkbutton, qui a une commande appelée ItemSelect et lorsque l'utilisateur clique sur ce linkbutton, il capturerait les détails de la ligne spécifique DataGrid et stocker ces détails en tant que sessions. Cependant, en dessous de la grille de données, je veux permettre à l'utilisateur de cliquer sur les NumericPages, donc il passerait à la page suivante de la grille de données. Mais pour le moment, les NumericPages tirant le PageIndexChanged allaient déclencher ma commande ItemSelect au lieu de sa propre commande. J'effectuais des tests mais ça ne marchera pas ... – Hubert

Questions connexes