Har en Repeater som i sin tur har en Gridview. I Gridview finns det sen Buttonfield. Jag kan fånga upp när man trycker på knappen men jag lyckas inte identifiera vilken av knapparna det gäller. Själv är bäste dräng :-)Gridview med Buttonfield i en Repeater
Lite strippad och förenklad kod:
<form id="form1" runat="server">
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="ObjectDataSource1">
<ItemTemplate><%#Container.DataItem("Title").ToString%>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false"
OnRowCommand="OnRowCommand" DataSource='<%#ProductsManager.GetProductsList("",0,Container.DataItem("ProductDescriptionID"))%> ' HorizontalAlign="Center">
<Columns>
<asp:BoundField HeaderText="Produkt" DataField="ProductName" SortExpression="ProductName" />
<asp:ButtonField CommandName="Buy" ButtonType="Button" Text="Köp" HeaderText="Köp" />
</Columns>
</asp:GridView>
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetProductDescription" TypeName="ProductsManager">
</asp:ObjectDataSource>
</form>
Och lite kod bakom
Protected Sub OnRowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs)
If e.CommandName = "Buy" Then
'Hjälp....
End If
End Sub
Tack på förhand
Sv: Gridview med Buttonfield i en Repeater
Ej uppstädad...
If e.CommandName = "Buy" Then
Dim index As Integer = Convert.ToInt32(e.CommandArgument)
Dim GridView1 As GridView = CType(e.CommandSource, GridView)
Dim selectedRow As GridViewRow = CType(e.CommandSource, GridView).Rows(index)
Dim id As String = CType(GridView1.DataKeys(selectedRow.DataItemIndex).Value, String)
Label1.Text = id
End If