Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 22.06.2012, 12:57   #1
Xaerl
 
Регистрация: 30.05.2008
Сообщений: 4
Репутация: 10
По умолчанию C# WinForm как combobox получает значения источника данных используя DisplayMember и ValueMember

до сего дня проблем не было. Создал свой класс, прописал для него СВОЙСТВА(Property, get-set) создал для него лист и можно привязывать - combobox видит свойства и может корректно к ним обращаться.

Но вот тут возникла необходимость динамически создавать класс-элемент. Доступ к элементам производиться через индексатор(как DataRow), но вот проблема: combobox не умеет работать с индексатором, и что самое интересное у DataRow нет свойств, но combobox с ним умеет работать!. есть подозрение, что необходимо реализовать интерфейс ICustomTypeDescriptor для своего класса-элемента, но как это сделать не имею представления, информации на мсдн недостаточно чтоб разобраться в этом интерфейсе.

ХЕЛП уже третий день голову ломаю!!!
Xaerl вне форума   Ответить с цитированием
Старый 22.06.2012, 13:26   #2
Скарам
Дружите с Linq ;)
Участник клуба
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Адрес: Сходня
Сообщений: 811
Репутация: 359
По умолчанию

Попробуй так:
Код:
( ( ICustomTypeDescriptor ) объект_твоего_класса).GetProperties().Find( "Название поля, покрое не отображается", false );
Добавь это после добавления объекта в DataSource. В похожей ситуации (правда с PropertyGrid ) у меня все заработало.
__________________
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума   Ответить с цитированием
Старый 22.06.2012, 13:52   #3
Xaerl
 
Регистрация: 30.05.2008
Сообщений: 4
Репутация: 10
По умолчанию

я и не создаю свойства с таким именем! но есть индексатор this[string Name] через который combobox должен получить значение DaispayMember и ValueMember.
есть подозрение, что combobox использует именно GetProperties(), однако как перегрузить GetProperties(),как создать в нем коллекцию свойств динамически и для них прописать чтоб возвращали свойства через индексатор значения - не могу понять
Xaerl вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отсутствует тип источника данных "База данных" still.1 C/C++ Базы данных 0 19.03.2012 18:54
Из бд access в label используя ComboBox Itachi Помощь студентам 1 22.05.2011 16:25
Как записать в memo строку за строкой используя изменения combobox? Человек_Борща Общие вопросы Delphi 3 11.04.2010 17:18
БД в Visual C++ 2008. Выбор типа источника данных shurik_7866 Общие вопросы C/C++ 0 03.04.2010 20:09
Как из колонки DBGrid записать все значения в combobox dolunin БД в Delphi 1 16.03.2009 20:19


00:34.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.