J'ai 2 GridViews, le InnerGridView est imbriqué dans un TemplateField de mon OuterGridView. Chaque GridView a une ObjectDataSource (ODS). Je souhaite qu'InnerGridView affiche les données uniques au GroupName répertorié dans OuterGridView. J'ai été Googling cela pendant des semaines, voyant diverses idées basées sur RowDataBound et l'événement de sélection ODS.Comment remplir un gridview interne basé sur la sélection gridview externe (ASP.NET/C#)
Je ne pense pas que RowDataBound soit la réponse, car l'événement de sélection pour InnerGridView ODS a déjà été appelé lorsque RowDataBound est appelé pour OuterGridView.
Donc, je dois envoyer un paramètre à l'ODS pour le InnerGridView:
protected void ProductDataSource_Selecting(object sender, ObjectDataSourceSelectingEventArgs e) {
e.InputParameters["productGroup"] = <here I need to access the GroupName from the OuterGridView>;
}
Note: Cette méthode est affectée à l'événement Sélection de l'ODS InnerGridView.
Ma question est: Comment puis-je accéder à GroupName à partir de OuterGridView ... pendant le traitement de InnerGridView. Voici un exemple de quelque chose qui ne fonctionne pas: OuterGridView.SelectedRow.FindControl ("GroupName") .ToString();
J'ai entendu que l'on peut trouver n'importe quel contrôle depuis l'intérieur de l'événement de sélection en cherchant une certaine hiérarchie. Mais je ne sais pas comment accéder à cette hiérarchie en utilisant les paramètres "e" ou "expéditeur". Si je pouvais trouver une explication des différents objets et contrôles ... et où ils ont une portée valide et comment ils sont accédés ... ce serait utile.
Un grand merci, Paul