GridLookUpEdit и ключи из нескольких частей - PullRequest
0 голосов
/ 16 ноября 2011

Я понимаю, что редактор DevExpress GridLookUpEdit не был разработан для работы с данными, имеющими многокомпонентные ключи.Однако я все равно пытаюсь обойти это ограничение.

Данные для моего GridLookUpEdit - это Product-Purity с двумя столбцами «PRODUCT_ID» и «PURITY_ID».У меня есть этот код, чтобы установить чистоту базовой сетки, когда пользователь выбирает строку чистоты продукта в GridLookupEdit:

    void lookUpEditProductPurities_EditValueChanged(object sender, EventArgs e)
    {
        // Get the purity from the product selected and update the purity column of the grid.
        DevExpress.XtraEditors.GridLookUpEdit editor = (sender as DevExpress.XtraEditors.GridLookUpEdit);
        DevExpress.XtraGrid.Views.Grid.GridView view = editor.Properties.View as DevExpress.XtraGrid.Views.Grid.GridView;
        object val = view.GetRowCellValue(view.FocusedRowHandle, "PURITY_ID");
        if (editor.Parent is GridControl)
        {
            GridControl ParentGridControl = (editor.Parent as GridControl);
            GridView ParentGridView = (ParentGridControl.MainView as GridView);
            DataRow CurrentDataRow = ParentGridView.GetDataRow(ParentGridView.FocusedRowHandle);
            CurrentDataRow["PRODUCT_PURITY_ID"] = val;
        }
    }

Это прекрасно работает, когда я использую его из основной сетки, с одной маленькой проблемой,Когда существующая строка ссылается на чистоту, которая не является первой чистотой для продукта, при всплытии сетки будет выглядеть так, как будто выбрана первая чистота.На мой взгляд, это не имеет большого значения.

Однако, большая проблема, с которой я сталкиваюсь, это когда я использую этот GridLookUpEdit в подробном ряду сетки основных и подробных данных.Вызов: editor.Parent возвращает элемент управления grid для мастера, а ParentGridControl.MainView возвращает GridView для мастера.

Как получить в gridView, что GridLookUpEdit является редактором для дочернего gridView??

tia -

1 Ответ

1 голос
/ 17 ноября 2011

Ваша задача (получение подробного представления) может быть реализована с использованием подхода, показанного в Что может вызвать сбой свойств, методов и событий подробного представления сетки? статья - используйте GridView.GetDetailView метод.
Также просмотрите следующую статью: Навигация по главному и подробному строкам

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