DataKeys : AutoGenerateSelectButtion, CommandField with CommandName = ‘Select’ & GridView1_SelectedIndexChanged
e.g.: 11.3
GridView1_SelectedIndexChanged -
You can determine which row is selected in a GridView control by using any of the following properties:
| SelectedDataKey | Returns the DataKey object associated with the selected row (useful when there are multiple data keys). |
| SelectedIndex | Returns the (zero-based) index of the selected row. |
| SelectedValue | Returns the data key associated with the selected row. |
| SelectedRow | Returns the actual row (GridViewRow object) associated with the selected row. |
Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Response.Write("<b>SelectedDataKey.Value: </b>" & Server.HtmlEncode(GridView1.SelectedDataKey.Value) & "<br />")
Response.Write("<b>DataKey Field 1: </b>" & Server.HtmlEncode(GridView1.SelectedDataKey.Values("au_id")) & "<br />")
Response.Write("<b>DataKey Field 2: </b>" & Server.HtmlEncode(GridView1.SelectedDataKey.Values("title_id")) & "<br />")
End Sub
In General:
A GridView stores data keys (DataKey objects in a collection called the DataKeys collection. This collection is exposed by the GridView control's DataKeys property.
Syntax:
· For Single-Column Datakeys:
DataKey objDataKey = Gridview1.DataKeys[<Row Number>]Return objDataKey.Value · For Multi-Column Datakeys:
DataKey objDataKey = Gridview1.DataKeys[<Row Number>]Return objDataKey.Values[“<Column Name>”] In most cases, you use the SelectedValue property to determine the value associated with a particular row. The SelectedValue property returns the data key associated with a row. See Below.
Example 1:
<asp:GridView id="grdMovieCategories" DataKeyNames="Id" DataSourceID="srcMovieCategories" AutoGenerateSelectButton="true" SelectedRowStyle-CssClass="selectedRow" CssClass="gridView" Runat="server" /> <asp:SqlDataSource id="srcMovieCategories" ConnectionString="<%$ ConnectionStrings:Movies %>" SelectCommand="SELECT Id, Name FROM MovieCategories" Runat="server" /> <asp:GridView id="grdMovies" DataSourceID="srcMovies" CssClass="gridView" Runat="server" /> <asp:SqlDataSource id="srcMovies" ConnectionString="<%$ ConnectionStrings:Movies %>" SelectCommand="SELECT Title,Director FROM Movies WHERE CategoryId=@CategoryId" Runat="server"> <SelectParameters> <asp:ControlParameter Name="CategoryId" ControlID="grdMovieCategories" PropertyName="SelectedValue" /> </SelectParameters> </asp:SqlDataSource> Example 2:
<asp:GridView id="grdMovieCategories" DataKeyNames=" FistName, LastName " DataSourceID="srcMovieCategories" AutoGenerateSelectButton="true" SelectedRowStyle-CssClass="selectedRow" CssClass="gridView" Runat="server" /> <asp:SqlDataSource id="srcMovieCategories" ConnectionString="<%$ ConnectionStrings:Movies %>" SelectCommand="SELECT FistName, LastName FROM Employees" Runat="server" /> <asp:GridView id="grdMovies" DataSourceID="srcMovies" CssClass="gridView" Runat="server" /> <asp:SqlDataSource id="srcMovies" ConnectionString="<%$ ConnectionStrings:Movies %>" SelectCommand="SELECT * FROM Employees WHERE FirstName=@FirstName AND LastName=@LastName " Runat="server"> <SelectParameters> <asp:ControlParameter Name="FirstName" ControlID="grdMovieCategories" PropertyName='SelectedDataKey("FirstName")’ /> <asp:ControlParameter Name="LastName" ControlID="grdMovieCategories" PropertyName='SelectedDataKey("LastName")’ /> </SelectParameters> </asp:SqlDataSource> Thanks & Regards,
Arun Manglick || Tech Lead
No comments:
Post a Comment