Есть ли возможность фильтровать доступные значения при добавлении новой записи? Посмотрите на следующий экран:
Каждый MES_OPERATION
присваивается MES_ROUTE
(оба являются внешними ключами). Теперь я хочу реализовать, что после выбора MES_ROUTE
список MES_OPERATIONS
s должен показывать только MES_OPERATIONS
s, которые присваиваются этому конкретному выбранному MES_ROUTE
.
После экрана:
Для вашего понимания: после выбора маршрута «Daniel» переключатель операций должен показывать только операции, которые назначены на маршрут «Daniel».Отфильтровать список доступных значений после выбора значения LS2011
ответ
Использовать системы ОРМ. Если вам нужен самый простой способ, используйте VS2010 и EntityFramework. Он автоматически генерирует набор классов на основе вашей базы данных и отображает их. Entity Framework распознает ваши отношения PK и FK и создаст коллекцию операций внутри класса Route. Затем в коде вы можете использовать что-то вроде этого (извините, я не знаю таблиц и имен баз).
var route = objectSet.Routes.Select(p=>p.Id=="some id").Single();
foreach (var operation in route.Operations)
{
//do your stuff
}
Также вы можете использовать другие ORM, например, NHiberanate. Вот некоторые полезные ссылки, чтобы вы начали: Simple NHibernate application.
То, что вы хотите сделать, это называется «вложенный» ComboBoxes, или «каскадный» ComboBoxes. Это можно легко сделать на подробном экране, но я не уверен, что это возможно в сетке (все мои сетки доступны только для чтения).
Посмотрите на эти две статьи, которые объяснят технику, & вы можете увидеть сами, если она работает для сетки.
Спасибо за ответ, но это определенно не решение/ответ я искал. Я ** нуждаюсь в ** способе заставить это работать в lightwitch - использование nhibernate не является решением этой проблемы. Кстати: lightwitch также использует инфраструктуру сущности - в моем случае в сочетании с базой данных оракула. –