Please visit my new Web Site https://coderstechzone.com
When we need to bind data in a Gridview column then we need to add an unique reference number which will help to identify a specific object or a datarow. Some developers use hidden field to store the ID column of a table on which he can INSERT UPDATE or DELETE based on hidden ID column. But this is not a good practice. Because Gridview control gives us a property named DataKeyNames on which we can assign our unique ID or code column value to distinguish invidual row. Here in this example i will show how one can read DataKeyNames value from code behind. Asp.net Gridview control also provides us a facility to assign more ID or Code type column in a single Gridview for each DataRow item specialy for composite keys of a table to bind. I have already discuss "How to use more DataKeynames in a Gridview". Also i have discuss on "Jquery to read DatakeyNames value of Selected Rows of GridView".
Sample Output:
HTML Markup Code:
<asp:GridView ID="GridView1" runat="server" DataKeyNames="ID" HorizontalAlign="Left">
<Columns>
<asp:boundfield datafield="Name" headertext="Super Player" />
</Columns>
</asp:GridView>
Codebehind Code:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dtPlayers = new DataTable("Super_Player");
dtPlayers.Columns.Add(new DataColumn("ID", System.Type.GetType("System.UInt64")));
dtPlayers.Columns.Add(new DataColumn("Name"));
dtPlayers.Rows.Add(1, "Leonel Messi");
dtPlayers.Rows.Add(2, "Christiano Ronaldo");
dtPlayers.Rows.Add(3, "Carlos Tevez");
dtPlayers.Rows.Add(4, "Xavi");
dtPlayers.Rows.Add(5, "Iniesta");
GridView1.DataSource = dtPlayers;
GridView1.DataBind();
foreach (GridViewRow oRow in GridView1.Rows)
Response.Write("DataKeyNames="+GridView1.DataKeys[oRow.RowIndex].Value + "
");
}
}
Hope now you can use DataKeyNames property of a Gridview control efficiently when required.
1 comments:
Thank you, this is very helpful.
I WOULD BE DELIGHTED TO HEAR FROM YOU