Эффект функции GridView SelectRow не виден - PullRequest
0 голосов
/ 24 апреля 2018

Я пытаюсь выделить все строки моего gridView (в конструкторе окна WinForms) следующим фрагментом кода:

        gridControl1.DataSource = myObj;
        gridControl1.ForceInitialize();

        for (int i = 0; i < gridView1.DataRowCount; i++)
        {
            if (((MyClass)gridView1.GetRow(i)).MyProperty)
                gridView1.SelectRow(i);
        }

В отладке я проверил, что gridView1.IsRowSelected() возвращает true для всех строк (после загрузки формы). Однако он не отображается (флажки не установлены). Что я делаю неправильно? Я пытался выполнить этот код при загрузке формы, но это не помогло.

1 Ответ

0 голосов
/ 25 апреля 2018

ColumnViewOptionsSelection.MultiSelect для свойства установлено значение true.

        try
        {
            gridView1.BeginUpdate();
            for (int i = 0; i < gridView1.DataRowCount; i++)
            {
                var rowhandle = gridView1.GetRowHandle(i);
                if (((MyClass)gridView1.GetRow(rowhandle)).MyProperty)
                    gridView1.SelectRow(rowhandle);
            }
        }
        finally
        {
            gridView1.EndUpdate();
        }

DataRowIndex и Rowhandle отличаются в devexpress.

...