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