2009-06-17 6 views
0
<asp:GridView DataSource="Reports"> 
    <ItemTemplate> 
     <asp:TextBox Text='<%# Bind("ReportId") %>' 
     <asp:Repeater DataSource="Something that is different than the GridView's DS"> 
      <a href='<%# Bind("ReportId", "reports.aspx?report={0}") %>'/> 
     </asp:Repeater> 
    </ItemTemplate> 
</asp:GridView> 

Je sais que c'est inachievable, je suis à la recherche d'un moyen d'utiliser reportId du GridView parent dans le répéteur imbriqué, est-il un moyen de le faire avec le code côté serveur <% #%>?Comment obtenir des parents la valeur lié aux données GridView

Répondre

0

Réglez le gridview

DataKeyField="ReportId" 

et dans le GridView1_ItemDataBound de l'événement à l'intérieur

protected void GridView1_ItemDataBound(object sender, GridViewItemEventArgs e)  
((TextBox)e.Item.FindControl("TextBox1")).text = GridView1.DataKeys[0].ToString(); 

et dans ce cas u définir la zone de texte avec la valeur de l'ID, l'essayer et nous espérons que ce sera être utile.

+0

Comme je l'ai spécifié, je suis à la recherche d'un moyen de le faire avec <%# %>. pendant ce temps je le fais dans le code en manipulant l'événement de base de données de la ligne de répéteur cehecking si la ligne actuelle est le pied de page qui fonctionne encore mieux. – Shimmy

+0

Non exécute moi je suis désolé je ne sais pas h pour faire que je vais essayer seraching u la solution – Ahmy

+0

Merci pour votre aide, j'ai réalisé qu'il ne doit pas être dans le répéteur, je l'ai mis en dehors du répéteur et c'est tout. Mais je vais toujours avoir de tels problèmes à l'avenir. – Shimmy

Questions connexes