2011-02-02 3 views
0

J'essaie de sélectionner/désélectionner les noeuds aspxtreelist qui répondent aux critères.Lorsqu'un utilisateur clique sur une ligne et déclenche un événement qui est géré par eventhandler côté serveur.Si je débogue le code everthing ok. La sélection fonctionne mais sur le navigateur, la sélection reste la même qu'avant.La sélection du noeud côté serveur ASPxTreelist ne fonctionne pas

protected void grid_FocusedRowChanged(object sender, EventArgs e) 
    { 
     menutree.UnselectAll(); 
     EUserRole role = (EUserRole)grid.GetRow(grid.FocusedRowIndex); 
     long roleguid = role.Guid; 

     TreeListNodeIterator iterator = new TreeListNodeIterator(menutree.RootNode); 
     while (iterator.GetNext() != null) 
     { 
      if ((long)iterator.Current["RoleGuid1"] == roleguid) 
       iterator.Current.Selected = true; 
     } 

    } 

Comment résoudre le problème?

Répondre

0

La cause de ce problème est que votre code est implémenté pendant le rappel de la grille. Étant donné que la réponse de rappel contient uniquement des informations sur le contrôle qui l'a initié, vos modifications effectuées dans le code côté serveur n'apparaissent pas du côté client. Une solution possible consiste à ajouter les deux contrôles (ASPxGridView et ASPxTreeList) sur MS UpdatePanel et définir la propriété EnableCallbacks de ces contrôles (ASPxGridView et ASPxTreeList) sur false. Dans ce cas, le MS UpdatePanel intercepte les publications et les "convertit" en rappels. En outre, les deux contrôles seront mis à jour pendant ces rappels.

+0

Merci DevExpressTeam. Je suis nouveau chez asp.net controls.my poblem est résolu. – Enes

Questions connexes