更新のために、選択したIDをgv_RowCommandイベントで取得できます。選択のために[複数選択checbox]チェックインbtnDelete_Click、enter code here
-------------- aspxコード------------------ --------------
<asp:Button ID="btnDelete" runat="server" Text="Delete"
onclick="btnDelete_Click" />
<asp:GridView ID="gv" runat="server" AutoGenerateColumns="False"
DataKeyNames="ID" onrowcommand="gv_RowCommand"
onrowupdating="gv_RowUpdating">
<Columns>
<asp:TemplateField HeaderText="Delete">
<ItemTemplate>
<asp:CheckBox ID="chkSel" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Update">
<ItemTemplate>
<asp:LinkButton runat="server" CommandArgument='<%# Eval("ID") %>' CommandName="Update" text="Update" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="NAME" HeaderText="Name" />
</Columns>
</asp:GridView>
---------------コードの後ろ--------------- ---------------
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
BindData();
}
private void BindData()
{
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("NAME");
DataRow dr = dt.NewRow();
dr[0] = "1";
dr[1] = "James";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "2";
dr[1] = "Paul";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "3";
dr[1] = "Mary";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "4";
dr[1] = "Susan";
dt.Rows.Add(dr);
gv.DataSource = dt;
gv.DataBind();
}
protected void gv_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Update")
{
string id = e.CommandArgument.ToString();
}
}
protected void gv_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
}
protected void btnDelete_Click(object sender, EventArgs e)
{
string idList = "";
for (int i = 0; i < gv.Rows.Count; i++)
{
CheckBox chk = (CheckBox)gv.Rows[i].FindControl("chkSel");
if (chk != null && chk.Checked)
idList += gv.DataKeys[i].Value.ToString() + ",";
}
}