Могу ли я установить источник данных для столбца в сетке, только для одной конкретной строки? - PullRequest
0 голосов
/ 17 мая 2011

Привет У меня есть следующее требование: элемент управления сеткой в ​​devexpress для winform.Столбец 1 для этой сетки - repositoryItemCheckedComboBoxEdit, как я могу получить текущую строку, а затем сбросить источник данных для repositoryItemCheckedComboBoxEdit только для этой строки?

Ответы [ 2 ]

2 голосов
/ 18 мая 2011

Такие задачи обычно реализуются с использованием события GridView ShownEditor . Вы должны определить текущий фокусированный столбец и его FieldName (GridView.FocusedColumn.FieldName), а затем изменить свойство DataSource редактора на основе значения, сохраненного в другой ячейке этой записи. * Т.е. 1003 *

private void gridView1_ShownEditor(object sender, EventArgs e) {
            GridView gridView = sender as GridView;
            if(gridView.FocusedColumn.FieldName == "YourField") {
                CheckedComboBoxEdit edit = gridView.ActiveEditor as CheckedComboBoxEdit;
                object value = gridView.GetRowCellValue(gridView.FocusedRowHandle, "AnotherColumn");
                // filter the datasource and set the editor's DataSource:
                edit.Properties.DataSource = FilteredDataSource;// your value
            }
        }

Кроме того, ознакомьтесь с Как отфильтровать второй столбец LookUp на основе значения первого столбца LookUp , в котором аналогичная задача решена.

0 голосов
/ 17 мая 2011

Вы можете обработать событие FocusedRowChanged, а затем установить источник данных на основе GetFocusedRow().

. Может потребоваться отдельный редактор с полным источником данных для отображения значений в несфокусированных столбцах.и обработайте CustomRowCellEditForEditing для использования подмножества в режиме редактирования.

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