2010-05-13 6 views
0

J'ai une grille, disons grille 1 dans laquelle il y a quelques colonnes. Il y a un bouton d'image de vue, un bouton d'image de suppression et une colonne qui indique que la colonne de couleur est rouge ou bleue.Get ID dans GridView

Si la colonne de couleur est rouge, le bouton supprimé est masqué sinon il est affiché (en fonction des droits donnés à l'utilisateur pour supprimer une colonne ou non).

Maintenant, un utilisateur clique sur un bouton d'affichage pour la colonne de couleur rouge. Si cette condition est satisfaite, alors je veux que l'icône de suppression ne soit pas présente dans la grille 2.

La grille 2 a 2 colonnes. L'un est un bouton d'image supprimée et l'autre est un nom de fichier (qui est téléchargé via le contrôle de téléchargement).

Donc, si dans la grille One « Bouton Afficher l'image » est cliqué pour la colonne « rouge » je devrais pouvoir cacher le bouton Supprimer de la grille 2.

J'ai essayé en écrivant du code dans la commande article, mais je suis pas en mesure d'accéder au contrôle de grid2. C'est la bonne route? Ou bien me suggérer un moyen correct.

S'il vous plaît Assurez-vous que le code est compatible avec VS 2003.

laissez-moi savoir s'il faut plus d'intrants.

Merci

Répondre

0

grid2.Rows[<index>].Cells[<index>].FindControl("") devrait fonctionner, à condition que la grille est liée aux données.

EDIT: En contrôle utilisateur code-behind, vous pouvez exposer la grille comme:

public DataGrid Grid 
{ 
    get { return this.<gridID>; } 
} 

puis dans la page code-behind, accéder à la grille en utilisant les éléments suivants:

public class SomePage : Page 
{ 
    .. OnInit(..) 
    { 
     this.uc1.Grid.<props/methods> 
    } 
} 

Tout ce que vous devez faire. Vous pouvez même attacher aux événements de la grille aussi.

+0

où je suis supposé écrire ce code? Dans la commande Article 1 de la grille ou dans la commande Article 2 de la grille ou ailleurs? Plus Comment pourriez-vous accéder au contrôle de n'importe quel Grid s'ils sont dans 2 pages de contrôle d'utilisateur différentes? La grille est sur la même page .aspx btw >>> –

+1

Au point où vous voulez accéder aux objets de la grille 2 ... qui par votre message semble être dans l'événement grid1 itemcommand. Je n'ai rien vu dans le post à propos d'un contrôle utilisateur ... s'ils sont dans des contrôles utilisateur distincts sur la même page, vous pouvez avoir une propriété publique dans le contrôle utilisateur (propriété publique Grid comme GridView) et ensuite se référer au contrôle utilisateur vous devez accéder comme dans uc1.Grid.Rows [] .Cells [] .FindControl (« ») –

+0

je suis en train d'écrire votre code, mais je suis face à l'erreur en disant lignes n'est pas membre de DataGrid .. .Je suppose que c'est DataGrid et pas Grid Voir –