Страница 1 из 1

DataBinding для ComboBox

Добавлено: 29 окт 2007, 15:41
BeraleX
Здравствуйте,
давно не посещал Ваш замечательный форум, ну да ладно.

Вопрос по существу:

Есть выбранные данные следующей структуры, например: name, ID1, ID2.
Необходимо сформировать список в ComboBox, состоящий из элементов типа Name,
чтобы в дальнейшем выбрав один из этих itemов получить доступ к соответствующим элементам - ID1, ID2 (т.е синхронно выбираем name в ComboBox, получаем посредством какого то механизма доступ к соответствующим ему ID1, ID2).

Подскажите пожалуйста, как это сделать, умом понимаю что нужно использоватьDataBinding, но вот что то у меня ничего не выходит.
Распишите поподробнее, если возможно, как это реализовать, как получить доступ к ID1, ID2 , если можно, с примером.
ID1, ID2 будут использоваться в последующих запросах, поэтому их желательно выбрать в локальные переменные, они типа int.
Спасибо.






DataBinding для ComboBox

Добавлено: 29 окт 2007, 16:12
Vital
В данном случае лучше всего воспользоваться свойством Control ComboBoxControl. Это свойство предоставляет доступ к WinForms контролу, который создается в момент отображения формы. Также понадобится класс, который будет содержать в себе все три объекта и будет возвращать их строковое представление. К примеру:

Код: Выделить всё

public class Temp
{
    public object id1;
    public object id2;
    public string name;

    public override string ToString()
   {
       return name;
   }
    
    public Temp(object id1, object id2, string name)
   {
    this.id1= id1;
    this.id2= id2;
    this.name= name;

   } 
}
Класс можно объявить прямо в коде отчета. Затем в событии LoadFormEvent заполняем контрол:

Код: Выделить всё

data.First();
while (!data.IsEof)
{
Temp temp = new Temp(data.id1, data.id2, data.name);
ComboBoxControl1.Control.Items.Add(Temp);
data.Next();
}
Спасибо.

DataBinding для ComboBox

Добавлено: 29 окт 2007, 17:06
BeraleX
Если я правильно понимаю, databinding-ом тут и не пахнет?

В принципе ничего страшного в этом нет (просто хотелось "покрасивее выйти из положения"), только я припоминаю,
что когда то мне не удавалось добавить свой код в тело отчета по каким уже не помню причинам.

Сейчас эта возможность поддерживается нормально без ограничений?

Или я что то путаю?

DataBinding для ComboBox

Добавлено: 29 окт 2007, 17:12
Vital
Добрый вечер,
Если я правильно понимаю, databinding-ом тут и не пахнет?
Все верно. databinding позволяет автоматизировать работу только в стандартных простых случаях.
В принципе ничего страшного в этом нет (просто хотелось "покрасивее выйти из положения"), только я припоминаю,
что когда то мне не удавалось добавить свой код в тело отчета по каким уже не помню причинам.

Сейчас эта возможность поддерживается нормально без ограничений?
Добавьте код выше

Код: Выделить всё

#region StiReport Designer generated code - do not modify
или ниже

Код: Выделить всё

 #endregion StiReport Designer generated code - do not modify

Спасибо.