2013-12-06 2 views
2

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

EDIT: Кроме того, когда я нажимаю на любую ячейку в моей сетке, у меня есть задержка второй или второй, и после этой задержки нажата ячейка сфокусирована ... Любые решения для всего этого?

EDIT: Не знаю, какой код показывать вам, потому что я все сделал в дизайнере 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"; 
+1

показать код. –

+0

Каков тип данных для поля, которому назначен LookUpEdit? Вы установили свойство FieldName GridColumn? – Brendon

+0

@Brandon - Я сделал 2 столбца в моем репозитории LookUpEdit. «ID» и «Name». В столбце «Имя» отображается строковый тип данных. Мой gridControl привязан к dataSource, но мой столбец нет, поэтому в дизайнере я оставил свойство fieldName пустым, а свойство «Unbound type», установленное на «String». – Mlad3n

ответ

1

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

Смежные вопросы