Флажки для обозначения включения в список? - PullRequest
1 голос
/ 25 января 2011

У меня есть две таблицы, называемые Machine и Type.Так как они имеют отношение многие-многие, у меня есть таблица разрешений MachineType в моей БД.Нет проблем.

Конечный пользователь должен иметь возможность управлять ими - создавать новые типы и назначать их машинам.У меня есть XtraGridView, который я использую для отображения Machine в качестве мастера и Type в качестве детализации.

Изначально я использовал Lookup, чтобы добавить Type раскрывающихся списков к подробному представлению MachineType.Но это создает дубликаты и не лучший способ отобразить эту информацию.Мне бы хотелось установить серию флажков (по одному для каждого Type доступных параметров), чтобы пользователь мог щелкнуть соответствующие флажки для каждого компьютера, что позволит избежать дублирования.После сохранения можно создать соответствующие строки MachineType.

Я собирался просто написать это вручную, но если я могу использовать какое-то бинарное сопоставление коллекций в DevExpress или .net Framework, я бы предпочел это, чем заново изобретать колесо.

Ура

РЕДАКТИРОВАТЬ: Это , что я имею в виду.От этой темы .Однако они хранят его как коллекцию (строку, обозначенную запятыми), а не как последовательность строк БД.

1 Ответ

1 голос
/ 02 февраля 2011

Вы заинтересованы в том, чтобы просто возвращать значения для привязки в виде запроса linq?

from m in Machine
from t in Type
select new {m,t}

Это даст вам перекрестное соединение для каждой пары При сохранении вы можете просто проверить, есть ли в таблице MachineType соединение уже

from mt in MachineType
where mt.MachineId == <machine from list>
&& mt.TypeId == <type from list>

если вы хотите передать списки запросов, вы можете отправить список пар, вы можете отправить словарь и пройти по нему или использовать функцию Contains(), если словари поддерживают это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...