В настоящее время у меня есть событие «Нажатие кнопки», которое берет DataKey из строки в таблице данных (с помощью флажка) и назначает его переменной INT для обновления индивида в базе данных.Все работает нормально, когда я отмечаю только один флажок и запускаю обновление.Однако мне нужно, чтобы у пользователя была возможность выбрать все флажки и взять все эти Datakeys и назначить их одной и той же переменной
INT oNewParentID
Как я уже сказал, все работает нормально, когда выбран только 1 флажок.Я предполагаю, что спрашиваю, как получить Uknoiwn количество 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;
}
}
}
}
}
И это моя хранимая процедура обновления:
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