Вложенный цикл по каждому элементу не работает? - PullRequest
0 голосов
/ 02 марта 2012

У меня есть 2 датагрид. Оба с флажками. У меня есть вложенный цикл foreach, который получает значения DataKeys обоих проверенных лиц из обеих таблиц данных. Когда я запускаю отладчик, первый ключ данных получает правильную переменную oIdividualID. Это работает нормально. Второй цикл foreach получает ключ данных из следующей таблицы данных. Это тоже хорошо работает. Однако он не присваивает его переменной oNewParentID. и в нижней части моего кода при отладке вызываемый мной метод правильно содержит значение oIndividualID, но oNewParentID содержит значение NO ? Что-то не так с моим вложенным циклом foreach? Я не понимаю Вот мой код:

protected void imgbtnReassgin_Click(object sender, ImageClickEventArgs e)
{
    foreach (GridViewRow row in gvAdminCustomer.Rows)
    {
        CheckBox cb = (CheckBox)row.FindControl("chkitemSelectorCustomers");
        if (cb != null && cb.Checked)
        {
            int oIndividualID  = Convert.ToInt32((gvAdminCustomer.DataKeys[row.RowIndex].Value));

            foreach (GridViewRow r in gvReassignCustomers.Rows)
            {
                CheckBox chkBox = (CheckBox)row.FindControl("chkitemSelectorAllManagersandSalesman");
                if (chkBox != null && chkBox.Checked)
                {
                    int oNewParentID = Convert.ToInt32((gvReassignCustomers.DataKeys[r.RowIndex].Value));
                    Individual ind = new Individual();
                    ind.ReassignIndividual(oIndividualID, oNewParentID);
                }
            }
            gvReassignCustomers.DataBind();
            gvAdminCustomer.DataBind();
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 02 марта 2012

Не совсем уверен, что случилось, но вдруг все заработало. Проблема решена, но не уверен, как.

0 голосов
/ 02 марта 2012

трудно понять назначение кода - для каждый установленный флажок в сетке администратора, на котором вы работаете, переназначить каждый проверенный переназначить таблицуЭто действительно намерение?

И затем вы запускаете DataBind () для каждой строки в сетке администратора.

Итак.

Закомментируйте DataBind () - они вам там не нужны, она просто говорит системе привязать данные к сеткам, которые потенциально могут очистить галочки, отмеченные пользователем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...