Элемент репозитория lookUpEdit сбрасывается после потери фокуса

У меня есть эта проблема в течение нескольких дней и не могу найти решение для нее. Я перепробовал все возможные решения, которые нашел в Интернете, но, похоже, ни одно из них не подходит для этого. Дело в том, что я добавил элемент репозитория в gridControls (я добавил его через дизайнер, а не через код). Затем в коде я добавил источник данных в этот репозиторий lookUpEdit, и у меня есть элементы в раскрывающемся списке в этом столбце. Но когда я выбираю элемент в репозитории и нажимаю на другую ячейку, выбранный элемент в репозитории очищается, и репозиторий снова показывает нулевое значение... Есть идеи, что я сделал неправильно?

РЕДАКТИРОВАТЬ: Кроме того, когда я нажимаю на любую ячейку в моей сетке, у меня есть задержка в секунду или две, и после этой задержки фокусируется ячейка, на которую нажали... Любые решения для всего этого?

РЕДАКТИРОВАТЬ: Не знаю, какой код Вам показать, потому что я сделал все в дизайнере devExpress. Вот часть кода, где я устанавливаю источник данных для элемента репозитория, и я дам вам код от дизайнера этого элемента репозитория.

private void ConfigureRepositoryItems()
    {
        BetService.SportManagerClient dbSportManager = new BetService.SportManagerClient();

        BetService.BLOddsControlSettings[] oddsControlSettings = dbSportManager.GetOddsControlSettings("", "");


        repositoryOddsControlSettings1.DataSource = oddsControlSettings;

    }

А вот код от дизайнера:

// 
        // repositoryOddsCalculationSettings1
        // 
        this.repositoryOddsCalculationSettings1.AutoHeight = false;
        this.repositoryOddsCalculationSettings1.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
        new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
        this.repositoryOddsCalculationSettings1.Columns.AddRange(new DevExpress.XtraEditors.Controls.LookUpColumnInfo[] {
        new DevExpress.XtraEditors.Controls.LookUpColumnInfo("ID", "ID", 20, DevExpress.Utils.FormatType.None, "", false, DevExpress.Utils.HorzAlignment.Default),
        new DevExpress.XtraEditors.Controls.LookUpColumnInfo("Name", "Name")});
        this.repositoryOddsCalculationSettings1.DisplayMember = "Name";
        this.repositoryOddsCalculationSettings1.Name = "repositoryOddsCalculationSettings1";
        this.repositoryOddsCalculationSettings1.NullText = "Select Settings";
        this.repositoryOddsCalculationSettings1.PopupSizeable = false;
        this.repositoryOddsCalculationSettings1.ValueMember = "ID";

person Mlad3n    schedule 06.12.2013    source источник
comment
Каков тип данных для поля, которому назначен LookUpEdit? Вы установили свойство FieldName GridColumn?   -  person Brendon    schedule 07.12.2013
comment
@Brandon - я сделал 2 столбца в своем репозитории LookUpEdit. ID и Имя. Столбец имени показывает строковый тип данных. Мой gridControl привязан к источнику данных, а мой столбец - нет, поэтому в конструкторе я оставил свойство fieldName пустым, а для свойства Unbound type я установил значение String.   -  person Mlad3n    schedule 08.12.2013
comment
У меня была аналогичная проблема. Причиной было неправильное значение члена (я использовал ID вместо Id).   -  person Marko Juvančič    schedule 03.01.2014


Ответы (1)


Для начала проверьте, совпадают ли имя столбца в вашем источнике данных Grid и столбец в элементе управления сеткой. Совпадение чувствительно к регистру, поэтому name и Name не совпадают и, следовательно, могут вызвать эту проблему. Во-вторых, убедитесь, что тип данных столбца источника данных Grid соответствует типу значения столбца LookUpEdit. Если LookupEdit возвращает int, а тип данных столбца источника данных Gridstring, уже одно это может вызвать много головной боли.

person Soham Dasgupta    schedule 18.03.2015
comment
У меня это было потому, что класс, который я использовал, использовал поля public int Number; вместо свойств public int Number { get; set; } - person Brendan Gooden; 09.05.2018