Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Datagridview, Datasource, ComboboxColumn / 14 сообщений из 14, страница 1 из 1
28.12.2012, 13:39
    #38096135
jamesbrolin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datagridview, Datasource, ComboboxColumn
Здравствуйте,
подскажите, как сформировать Datasource так, чтобы среди [Browsable(true)] было не просто одиночное значение, а целый список, который трансформировался бы в comboboxColumn.
Интересует в первую очередь, как это сделать полностью программно.

P.S.
1) Попытки сделать public IEnumerable<...> не увенчались успехом.
2) По ключевым словам нахожу только, как засунуть datasource просто в comboboxColumn.
3) Разделенение источника на "до combobox'а" и "после" мне не нравится.

Пример задачи:
допустим, есть БД ноутбуков и пользователю предлагается редактирование нетекстового поля ( операционная система), вот ее он и будет выбирать из Windows 7, Windows 8, Dos, Windows RT и т.д.
...
Рейтинг: 0 / 0
28.12.2012, 15:13
    #38096271
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datagridview, Datasource, ComboboxColumn
jamesbrolinЗдравствуйте,
подскажите, как сформировать Datasource так, чтобы среди [Browsable(true)] было не просто одиночное значение, а целый список, который трансформировался бы в comboboxColumn.
Интересует в первую очередь, как это сделать полностью программно.

перефразируй вопрос , а то них.. не понятно
...
Рейтинг: 0 / 0
28.12.2012, 15:23
    #38096284
jamesbrolin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datagridview, Datasource, ComboboxColumn
pation,

я Datasource пытаюсь подставить программно, т.е. datagridview1.Datasource = ...

Для простых полей все работает отлично, но одно поле мне надо сделать в качестве коллекции объектов.

Предполагается, что пользователь будет выбирать значение из комбобокса.

Пример более жизненный: есть некие классы SomeClass и SomeClassGroup, так вот в SomeClass имеется ссылка на SomeClassGroup. Как организовать диалог по создание и изменению объектов SomeClass через Datagridview? SomeClassGroup надо именно выбирать из готовых.
...
Рейтинг: 0 / 0
28.12.2012, 15:30
    #38096294
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datagridview, Datasource, ComboboxColumn
jamesbrolinpation,

я Datasource пытаюсь подставить программно, т.е. datagridview1.Datasource = ...

Для простых полей все работает отлично, но одно поле мне надо сделать в качестве коллекции объектов.

Предполагается, что пользователь будет выбирать значение из комбобокса.

Пример более жизненный: есть некие классы SomeClass и SomeClassGroup, так вот в SomeClass имеется ссылка на SomeClassGroup. Как организовать диалог по создание и изменению объектов SomeClass через Datagridview? SomeClassGroup надо именно выбирать из готовых.

1. Прекратить извращения
2. Создать в гриде колону с комбобоксом (тип колонки выбирается в дизайнере)
3. подцепить в DataSource данной колонки свой список выбираемых значений
4. Радоваться жизни
...
Рейтинг: 0 / 0
28.12.2012, 15:34
    #38096301
jamesbrolin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datagridview, Datasource, ComboboxColumn
pation,

а программно никак?

Кстати список значений в общем случае зависит от времени обращения к базе, т.е. может меняться
...
Рейтинг: 0 / 0
28.12.2012, 15:43
    #38096321
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datagridview, Datasource, ComboboxColumn
jamesbrolinpation,

а программно никак?

Кстати список значений в общем случае зависит от времени обращения к базе, т.е. может меняться

программно выполнять только шаги 2-3
да может
...
Рейтинг: 0 / 0
28.12.2012, 15:44
    #38096323
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datagridview, Datasource, ComboboxColumn
pationjamesbrolinpation,

а программно никак?

программно выполнять только шаги 2-3
Шаг 1 выполнять программно обязательно
...
Рейтинг: 0 / 0
28.12.2012, 15:59
    #38096348
jamesbrolin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datagridview, Datasource, ComboboxColumn
pation,

внимательно попытался применить то, что Вы описали. Если правильно понял, что предлагается использовать databound-колонки, кроме одной - как раз таки combobox, она будет unbound.

Неужели Вам самим такой подход нравится?
...
Рейтинг: 0 / 0
28.12.2012, 16:01
    #38096351
jamesbrolin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datagridview, Datasource, ComboboxColumn
jamesbrolinpation,

внимательно попытался применить то, что Вы описали. Если правильно понял, что предлагается использовать databound-колонки, кроме одной - как раз таки combobox, она будет unbound.

Неужели Вам самим такой подход нравится?

Имею в виду, что придется использовать два datasource'а вместо одного. Проблематично с этим работать. Но если другого выхода нет...
...
Рейтинг: 0 / 0
28.12.2012, 20:20
    #38096632
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datagridview, Datasource, ComboboxColumn
jamesbrolin,

Вы просто ничего не поняли из того, что Вам писали
...
Рейтинг: 0 / 0
29.12.2012, 14:55
    #38097253
jamesbrolin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datagridview, Datasource, ComboboxColumn
Cat2jamesbrolin,

Вы просто ничего не поняли из того, что Вам писали

А Вы?

1. Прекратить извращения
2. Создать в гриде колону с комбобоксом (тип колонки выбирается в дизайнере)
3. подцепить в DataSource данной колонки свой список выбираемых значений
4. Радоваться жизни


Эти пункты мне только говорят о том, как сделать комбобокс-колонку с датасорсом - с этим проблем нет.

Так же нет проблем, как подсунуть датасорс для строчек грида.

Проблема в том, что нужно и то, и другое. Т.е. подставляя некий датасорс, должен получиться набор строк грида, в котором одна колона комбобокс.

Если примеры выше непонятны, то еще один:
1) Есть таблица DeviceTypes:
ID | Symbolic
-------------------
1 | Smartphone
2 | Notebook
3 | DVD-Player

2) Есть таблица устройств Devices с ссылкой на DeviceTypes
ID | Name | DeviceTypeId
-------------------------------
1 | HP 2760p | 2
2 | Nokia Lumia 920 | 1
3 | BBK DVP954HD | 3

3) Предположим, что у меня уже есть список таких девайсов: List<Device> devices = GetDevices();
4) Преполагается, что некто мог допустить ошибку. Таким образом, нужно сделать возможность изменить тип в гриде. Но вводить не символьно, а выбирать из готовых в комбобоксе.
5) Есть ли возможность написать класс Device так, чтобы при подстановке datagridview1.Datasource = devices; все делалось автоматически, т.е. создавались как обычные колонки, так и одна колонка комбобокса?

Что ориентировочно нужно добавить к такому классу?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
    class Device
    {
        [Browsable(true)]
        [DisplayName("Имя")]
        public string Name
        {
           get;set;
        }

        [Browsable(true)]
        [DisplayName("Идентификатор")]
        public int Id
        {
           get;set;
        }

        //DeviceType????????
   }



Вариант "ничего не добавлять, а подставлять другой сорс в unbound-комбобокс колонку" очень не нравится.
...
Рейтинг: 0 / 0
29.12.2012, 14:57
    #38097255
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datagridview, Datasource, ComboboxColumn
jamesbrolinкроме одной - как раз таки combobox, она будет unbound.
Неужели Вам самим такой подход нравится?

нет, это я как раз не предлагаю
...
Рейтинг: 0 / 0
29.12.2012, 14:59
    #38097258
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datagridview, Datasource, ComboboxColumn
jamesbrolinЭти пункты мне только говорят о том, как сделать комбобокс-колонку с датасорсом - с этим проблем нет.

Так же нет проблем, как подсунуть датасорс для строчек грида.

Проблема в том, что нужно и то, и другое. Т.е. подставляя некий датасорс, должен получиться набор строк грида, в котором одна колона комбобокс.

странно
1. правой ногой вперёд - проблем нет
2. левой рукой вниз - проблем нет
3. Проблема в том, что нужно и то, и другое 0_о
...
Рейтинг: 0 / 0
29.12.2012, 16:09
    #38097335
jamesbrolin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datagridview, Datasource, ComboboxColumn
pation,

Ну и? Я в курсе, как это сделать из двух датасорсов. Только проблем с маппингом огребу.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Datagridview, Datasource, ComboboxColumn / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]