Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / DataGridView и ComboBoxCell / 9 сообщений из 9, страница 1 из 1
11.04.2013, 13:54
    #38221762
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGridView и ComboBoxCell
Есть грид, у которого ячейки в одном столбце - выпадающий список (у каждой ячейки может быть свой список в зависимости от значений в других столбцах). Датасорс у списка - ArrayList из объектов класса MyClass. ValueMember и DisplayMember настроены. Вопрос - как мне получить ссылку на текущий выбранный объект MyClass у ячейки? Есть ли у нее какое-то свойство для этого? Или нужно будет делать поиск в ArrayList по текущему значению ValueMember?
...
Рейтинг: 0 / 0
11.04.2013, 13:57
    #38221769
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGridView и ComboBoxCell
Забыл сказать - ValueMember не может быть ссылкой на объект, а является ссылкой на поле объекта. т.к. грид заполняется запросом из базы, и линкуется к объекту по зачению этого поля (integer)
...
Рейтинг: 0 / 0
11.04.2013, 15:10
    #38221938
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGridView и ComboBoxCell
Pallaris,

опиши задачу кот. ты решаешь
...
Рейтинг: 0 / 0
11.04.2013, 15:21
    #38221975
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGridView и ComboBoxCell
pationPallaris,

опиши задачу кот. ты решаешь

Есть таблица (table1) в БД, у нее есть поле integer (название field1), которое ссылается на другую таблицу-справочник (table2).

Я делаю запрос к таблице 1, заполняю данными грид. Даю пользователю из ComboBoxCell выбирать значения для field1. Но при этом, в зависимости от условий, список значений у каждой строки разный. Эти списки я загружаю отдельно в объекты класса MyClass, каждый из которых соответствует какой-то записи в таблице Table2 плюс реализует свою арифметику.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class MyClass
{
    public int code {set;get};//cоотв полю field1 таблицы table2
    public string val1 {set;get};//cоотв полю field2 таблицы table2
..........
    public string selfInfo {get;};
....
    public int DoCalculate()
    {}
}



В качестве DataSource у каждой ячейки указан ArrayList на массив этих объектов. ValueMember = "code", DisplayMember = "selfInfo".

Теперь, когда пользователь нажимает кнопку на форме (Пересчет), мне нужно перебрать все строки на форме, и у каждого объекта MyClass, который связан с ComboBoxCell, вызвать метод DoCalculate().

Примерно так.
...
Рейтинг: 0 / 0
11.04.2013, 16:10
    #38222138
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGridView и ComboBoxCell
PallarisЕсть таблица (table1) в БД, у нее есть поле integer (название field1), которое ссылается на другую таблицу-справочник (table2).

Я делаю запрос к таблице 1, заполняю данными грид. Даю пользователю из ComboBoxCell выбирать значения для field1. Но при этом, в зависимости от условий, список значений у каждой строки разный. Эти списки я загружаю отдельно в объекты класса MyClass, каждый из которых соответствует какой-то записи в таблице Table2 плюс реализует свою арифметику.

наследуй от DataGridViewComboBoxColumn и делай всё это там
...
Рейтинг: 0 / 0
11.04.2013, 16:13
    #38222144
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGridView и ComboBoxCell
pation,

второй вариант, наверное более лучший, при событии BindingSource.PositionChanged для основной таблицы фильтруй DataSourse для колонки по условию
...
Рейтинг: 0 / 0
11.04.2013, 22:05
    #38222727
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGridView и ComboBoxCell
pationнаследуй от DataGridViewComboBoxColumn и делай всё это там

т.е. нельзя определить (получить ссылку), какой объект датасорса сейчас отображается в ячейке comboboxcell?
...
Рейтинг: 0 / 0
11.04.2013, 23:00
    #38222765
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGridView и ComboBoxCell
Pallarispationнаследуй от DataGridViewComboBoxColumn и делай всё это там

т.е. нельзя определить (получить ссылку), какой объект датасорса сейчас отображается в ячейке comboboxcell?
можно
...
Рейтинг: 0 / 0
18.04.2013, 09:35
    #38230272
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataGridView и ComboBoxCell
Cat2можно

BindingSource.Current?
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / DataGridView и ComboBoxCell / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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