Не удается программно проверить флажок столбца в DGV после редактирования источника данных? - PullRequest
0 голосов
/ 16 февраля 2012

У меня есть событие click для моего DGV, которое связывается с помощью таблицы данных. Всякий раз, когда флажок флажка установлен, он проверяет выбранную строку и представляет условие пользователю через окно сообщения. Если пользователь нажимает да, я редактирую столбец замечаний в таблице данных. Моя проблема в том, что мне нужно сохранить галочку. Исчезает после AcceptChanges ();

Вот что я пробовал.

DialogResult OptScndary = MessageBox.Show("This employee's primary position is not required for the project but the secondary position is. Would you like to request this employee for his/her secondary position?", "Secondary Position", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

if (OptScndary == DialogResult.Yes)
{
     DataRow[] Row = AvailableEmp_dataTable.Select("EmpID='" + Sel_EmpID + "'");
     Row[0]["Remarks"] = "Secondary position requested";
     AvailableEmp_dataTable.AcceptChanges();

     RequestBtn.Enabled = true;

     foreach (DataGridViewRow DGVRow in EmpInfoGrid.Rows)
     {
           if (DGVRow.Cells["EmpID"].Value.ToString().Equals(Sel_EmpID))
           { 
                DGVRow.Cells[MarkColumn.Name].Value = true; 
           }
     }
}

Ответы [ 2 ]

1 голос
/ 16 февраля 2012

Создайте коллекцию ваших проверенных строк.сохраните идентификаторы и добавьте процедуру в событие DataGridViewRowAdding (не уверенное в точном имени), чтобы изменить значения флажков на основе набора проверенных строк

0 голосов
/ 16 февраля 2012

Перейти по этой ссылке.

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowdatabound.aspx

Событие, связанное с строкой, вызывается всякий раз, когда мы повторно связываем представление данных.Поэтому, когда вы устанавливаете флажок, просто собирайте строки, у которых установлен флажок.И когда пользователь установит флажок, разрешит обрабатывать вашу логику, а затем перепривязать datagridview и для события привязки строки, сопоставить строку с сохраненными идентификаторами в коллекции, которую вы собрали во время события флажка checkbox, и, если он совпадает, найти элемент управления флажка в строкеи просто отметьте его отмеченным.

Надеюсь, это поможет.

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