C#: DataGridViewCheckBoxCell странное поведение

Возможный дубликат:
DataGridViewCheckBoxCell, как показать проверено, когда установлено во время загрузки формы

У меня проблема с DataGridView в проекте C#-WinForms.

Я заполняю его данными из локальной базы данных. Кроме того, я добавил CheckBoxColumn, который не привязан ни к каким данным. Я использую это для фильтрации ListBox в зависимости от проверенных строк. Это все размещается на второй странице TabControl в диалоговой форме и работает отлично.

Теперь я хочу программно выбирать строки на основе списка строк, через которые я прохожу при открытии формы. Я попробовал этот код:

foreach (string pre in preselect)
{
    foreach (DataGridViewRow row in dgvProtFunc.Rows)
    {
        if ((string)row.Cells[2].Value == pre)
        {
            ((DataGridViewCheckBoxCell)row.Cells[0]).Value = true;
        }
    }
}

Установка значений, а затем сработавшая фильтрация работает при загрузке формы. Однако, флажки не отмечены. При выборе одного все остальные значения теряются. Это плохо, так как я должен использовать такой предварительный выбор. Это другой обработчик событий DataGridView:

private void dgvProtFunc_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
    if (dgvProtFunc.IsCurrentCellDirty)
    {
        dgvProtFunc.CommitEdit(DataGridViewDataErrorContexts.Commit);
    }
}

private void dgvProtFunc_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
    if (!FormLoadCheck)
    {
        string data = string.Empty;
        ptSelectList.Clear();
        foreach (DataGridViewRow row in dgvProtFunc.Rows)
        {
           if (row.Cells[0].Value != null && Convert.ToBoolean(row.Cells[0].Value) == true)
           {
               ptSelectList.Add(Convert.ToInt32(row.Cells[1].Value));
           }
           data += row.Cells[0].Value;
        }
        ptSelectList.Sort();
        FilterRelais(ptSelectList.ToArray());
        MessageBox.Show(data);
   }
}

Кто-нибудь может объяснить это поведение? Какие-либо решения?

0 ответов

Другие вопросы по тегам