Gridview est configuré:Obtenir la valeur DataKey dans ASP.NET GridView événement commande Bouton
<asp:GridView ID="gvApptList" runat="server" CssClass="fullwidth" AutoGenerateColumns="False" DataKeyNames="AppointmentID">
<Columns>
<asp:BoundField DataField="Designer" HeaderText="Designer" SortExpression="Designer" />
<asp:BoundField DataField="AppointmentDTM" HeaderText="Appointment Date" SortExpression="AppointmentDTM" DataFormatString="{0:MM-dd-yyyy hh:mm tt}" />
<asp:BoundField DataField="Status" HeaderText="Status" SortExpression="Status" />
<asp:BoundField DataField="Disposition" HeaderText="Disposition" SortExpression="Disposition" />
<asp:BoundField DataField="AppointmentNotes" HeaderText="Appointment Notes" SortExpression="AppointmentNotes" />
<asp:ButtonField ButtonType="Button" CommandName="viewAppointment" Text="View" />
</Columns>
</asp:GridView>
Lorsque je clique sur le bouton "View", le gvApptList_RowCommand Déclenché. COde car il est:
If e.CommandName = "viewAppointment" Then
Dim tApptID As Long
gvApptList.SelectedIndex = e.CommandArgument
If IsNumeric(gvApptList.DataKeys(e.CommandArgument).Value) Then
tApptID = gvApptList.SelectedDataKey.Value
Else
Exit Sub
End If
tbAppointmentID.Text = tApptID
DisplayInfo()
End If
Les gvApptList.DataKeys (e.CommandArgument) .Value revient toujours rien. Qu'est-ce que j'oublie ici? J'ai ce code de vente exact sur d'autres pages.
Vous ne devez pas avoir le DataKeyName en tant que DataField lié? – Kramb
J'ai essayé cela aussi. – RobWaibel
AppointmentID est-il inclus dans votre requête SELECT sous-jacente? En outre, où est la source de données et le code de liaison? Cordialement, –