如何从gridview中检索已检查行的主键

时间:2013-04-17 04:28:13

标签: asp.net oracle10g

您能告诉我如何在网格视图中检索已检查行的主键吗?我不想显示该值或其他内容,只需使用它来修改该特定行(删除,更改列值等) 我在后端使用Oracle 10g。 感谢。

3 个答案:

答案 0 :(得分:3)

使用gridview的DataKeys 详情: - http://msdn.microsoft.com/en-in/library/system.web.ui.webcontrols.gridview.datakeys.aspx

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"  
    DataKeyNames="emp_id">

DataKeyNames将您的主键值放在此字段中。
详细链接
http://www.codeproject.com/Articles/23833/DataKeyNames

答案 1 :(得分:1)

在Aspx.Page中......

<asp:GridView ID="gv" runat="server" AutoGenerateColumns="False"  
    DataKeyNames="emp_id">

在Cs.Page中, 在Click事件中。

for(int i=0;i<gv.rows.count;i++)
{
    GridviewRow row=gv.rows[i];
    cheakbox c1=(Cheakbox)row.FindControl("chkId");
    if(c1.cheaked)
    {
         int id=Convert.toInt32(gv.Datakeys[i]);
    }
}

答案 2 :(得分:1)

试试这个

 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        DataKeyNames="ProductId" AllowPaging="True" 
        BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" 
        CellPadding="2" ForeColor="Black" GridLines="None" 
        onpageindexchanging="GridView1_PageIndexChanging" 
        onrowediting="GridView1_RowEditing" onrowupdating="GridView1_RowUpdating" 
        onrowcancelingedit="GridView1_RowCancelingEdit" 
        onrowdeleting="GridView1_RowDeleting" Width="603px">
  </asp:GridView>

现在在您的代码后面,例如更新

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
    int productid=int.Parse(GridView1.DataKeys[e.RowIndex].Values[0].ToString());
}