Привязка данных к связанному логическому столбцу, отношение «многие ко многим» - PullRequest
0 голосов
/ 05 января 2010

Это приложение WinForms.

Между строками в TABLEA и TABLEB существует отношение "многие ко многим". В TABLELINK существует запись для каждой строки в TABLEA, которая связана со строкой в ​​TABLEB. Подумайте «пользователи» и «роли» или что-то в этом роде: каждая запись TABLELINK указывает на то, что «пользователь X имеет роль Y».

Я просматриваю записи TABLEA, используя объекты привязки данных. Нет проблем. Это не сетка, а форма с отдельными элементами управления TextBox.

Я хочу отобразить группу флажков, каждый из которых соответствует строке в TABLEB. Я хочу связать данные TABLELINK со свойством «флажка» каждого флажка, поэтому флажок Y устанавливается, когда мы смотрим на запись X, если и только если существует запись TABLELINK, совпадающая с этими X и Y.

У меня есть куча времени на создание этого отношения и его привязку к флажкам, которые должны быть созданы во время выполнения, потому что дизайнер не знает, сколько их будет. Концептуально, в SQL это select count(*) from tableb left join tablelink on tableb.y = tablelink.y where tablelink.x = ? group by tableb.y, но я застрял на том, как привязать это к отдельным флажкам.

Мой вопрос, состоящий из двух частей: а) Хорошо ли я спроектировал это с самого начала? б) Если да, как связать результаты этого запроса (или аналогичного) с отдельными флажками?

1 Ответ

1 голос
/ 05 января 2010

Не уверен насчет а) - я всегда задавался вопросом, правильно ли я делаю это.

То, что я сделал, это захват набора данных - и рендеринг сетки имен (на основе таблицы 1 в наборе данных), а затем рендеринг списка флажков на основе запроса набора данных (таблица 2 в наборе данных), и если его проверено не основанный на данных во второй части

Не уверен, что это ответ, который вы хотели, но он работает!

...