現在、(チェックボックスを介して) Datagrid の行から DataKey を取得し、それを INT 変数に割り当ててデータベース内の個人を更新する Button Click イベントがあります。チェックボックスを1つだけチェックしてアップデートを実行すると、すべて正常に動作します。ただし、すべてのチェックボックスを選択し、それらすべてのデータキーを取得して同じ変数に割り当てるオプションがユーザーに必要です
INT oNewParentID
私が言ったように、チェックボックスが1つだけ選択されている場合、すべてが正常に機能します。不明な量の Datakeys またはすべてのチェックボックスで選択されたすべての DataKeys を取得し、それらを上記の変数に格納して、選択したすべての個人の更新を実行する方法を尋ねていると思います。これまでのところ、選択された1つのチェックボックスで機能しているボタンクリックイベントは次のとおりです。
protected void imgbtnReassgin_Click(object sender, ImageClickEventArgs e)
{
foreach (GridViewRow row in gvSalesmanCustomers.Rows)
{
CheckBox cb = (CheckBox)row.FindControl("chkSalesCustSelector");
if (cb != null && cb.Checked)
{
int oIndividualID = Convert.ToInt32((gvSalesmanCustomers.DataKeys[row.RowIndex].Value));
foreach (GridViewRow r in gvSalesmanByManager.Rows)
{
CheckBox chkBox = (CheckBox)r.FindControl("chkManagerSalesSelector");
if (chkBox != null && chkBox.Checked)
{
int oNewParentID = Convert.ToInt32((gvSalesmanByManager.DataKeys[r.RowIndex].Value));
Individual ind = new Individual();
ind.ReassignIndividual(oIndividualID, oNewParentID);
chkBox.Checked = false;
cb.Checked = false;
}
}
}
}
}
そして彼女は私の Update Stored Procedure です:
CREATE DEFINER=`root`@`%` PROCEDURE `reassign_Individual`(
IN oIndividualID int(11),
IN oNewParentID int(11)
)
BEGIN
Update intelliair.individual
set ParentID = oNewParentID
Where IndividualID = oIndividualID;END