Здравствуйте, CyberRussia, Вы писали:
CR>Здравствуйте, Ночной Смотрящий, Вы писали: НС>>Вот именно. А если хочешь server side — там нужно подписаться на событие и самому сгенерировать запрос. CR>То есть "в лоб" подружить с linq2db не выйдет? Все равно придется писать код обработки событий фильтров и генерацию соответствующего запроса в БД.
Работаю с .net core, приложение WPF (практически нет с ним опыта).
Нужно сделать форму с таблицей (из БД), где некоторые ячейки будут представлять собой выпадающие списки с данными. При этом практически по всем полям пользователь может иметь возможность выбора фильтрации по значению. И, само собой, сортировка по почти любому полю.
В WinForms или ASP.NET с такой задачей неплохо справляется DevExpress.
Однако он платный и я не уверен, что заказчик согласится купить ради относительно небольшого проекта.
Есть ли альтернативы?
И сразу второй вопрос. Данные будут браться из БД посредством linq2db — есть ли возможность подружить GUI с linq2db так, чтобы по фильтрам выбранным пользователем самостоятельно строился запрос в БД?
Здравствуйте, CyberRussia, Вы писали:
CR>Однако он платный и я не уверен, что заказчик согласится купить ради относительно небольшого проекта.
А при чем тут заказчик? Лицензия покупается на разработчика.
CR>Есть ли альтернативы?
Есть. Штатный DataGrid вполне справится, но придется повозиться чуть больше.
CR>И сразу второй вопрос. Данные будут браться из БД посредством linq2db — есть ли возможность подружить GUI с linq2db так, чтобы по фильтрам выбранным пользователем самостоятельно строился запрос в БД?
Что значит самостоятельно? Преобразовать пожмяканные кнопки в expression tree тебе таки придется.
Здравствуйте, Ночной Смотрящий, Вы писали: CR>>Однако он платный и я не уверен, что заказчик согласится купить ради относительно небольшого проекта. НС>А при чем тут заказчик? Лицензия покупается на разработчика.
Разработчик в моем лице в настоящее время финансово не готов на такую покупку. А переложить расход в конкретный проект это нужно согласие заказчика.
CR>>Есть ли альтернативы? НС>Есть. Штатный DataGrid вполне справится, но придется повозиться чуть больше.
Хотелось бы вот это "чуть дольше" существенно сократить
CR>>И сразу второй вопрос. Данные будут браться из БД посредством linq2db — есть ли возможность подружить GUI с linq2db так, чтобы по фильтрам выбранным пользователем самостоятельно строился запрос в БД? НС>Что значит самостоятельно? Преобразовать пожмяканные кнопки в expression tree тебе таки придется.
Может путаю, уже года два с DevExpress не работал. Но вроде их DataGrid, если у него источником данные выступает DataView способен самостоятельно фильтровать данные. Но эта фильтрация, как я помню, идет уже на стороне клиента.
Здравствуйте, CyberRussia, Вы писали:
CR>Но вроде их DataGrid, если у него источником данные выступает DataView способен самостоятельно фильтровать данные. Но эта фильтрация, как я помню, идет уже на стороне клиента.
Вот именно. А если хочешь server side — там нужно подписаться на событие и самому сгенерировать запрос.
Здравствуйте, Ночной Смотрящий, Вы писали: НС>Вот именно. А если хочешь server side — там нужно подписаться на событие и самому сгенерировать запрос.
То есть "в лоб" подружить с linq2db не выйдет? Все равно придется писать код обработки событий фильтров и генерацию соответствующего запроса в БД.
Здравствуйте, CyberRussia, Вы писали:
НС>>Вот именно. А если хочешь server side — там нужно подписаться на событие и самому сгенерировать запрос. CR>То есть "в лоб" подружить с linq2db не выйдет?
Прилагая ноль усилий — точно нет. Возможно есть что то готовое для EF и OData.
Здравствуйте, Ночной Смотрящий, Вы писали: НС>Прилагая ноль усилий — точно нет. Возможно есть что то готовое для EF и OData.
Понятно. В любом случае это не проблема, и уж тем более не главная.
Вот потенциальная проблема это GUI контрол. Есть альтернатива DevExpress и штатному DataGrid?
Здравствуйте, CyberRussia, Вы писали:
CR>Добрый день,
CR>Работаю с .net core, приложение WPF (практически нет с ним опыта). CR>Нужно сделать форму с таблицей (из БД), где некоторые ячейки будут представлять собой выпадающие списки с данными. При этом практически по всем полям пользователь может иметь возможность выбора фильтрации по значению. И, само собой, сортировка по почти любому полю. CR>В WinForms или ASP.NET с такой задачей неплохо справляется DevExpress. CR>Однако он платный и я не уверен, что заказчик согласится купить ради относительно небольшого проекта. CR>Есть ли альтернативы?
CR>И сразу второй вопрос. Данные будут браться из БД посредством linq2db — есть ли возможность подружить GUI с linq2db так, чтобы по фильтрам выбранным пользователем самостоятельно строился запрос в БД?
D>Нужно чтобы грид умел работать с IQueryable. DevExpress умеет.
Окей. linq2db предоставляет класс с результатом реализующим интерфейс IQueryable. Берем DevExpress. Забыл как в нем класс грида называется. Означает ли, что я могу просто написать DataGrid.DataSource = MyDataBaseDB.MyReport и "забыть" о написании кода для реализации фильтров по выбору оператора?
, где DataGrid — объект грида DevExpress
MyDataBaseDB — класс сгенерированный linq2db для доступа к БД
Здравствуйте, CyberRussia, Вы писали:
D>>Нужно чтобы грид умел работать с IQueryable. DevExpress умеет. CR>Окей. linq2db предоставляет класс с результатом реализующим интерфейс IQueryable. Берем DevExpress. Забыл как в нем класс грида называется. Означает ли, что я могу просто написать DataGrid.DataSource = MyDataBaseDB.MyReport и "забыть" о написании кода для реализации фильтров по выбору оператора? CR>, где DataGrid — объект грида DevExpress CR>MyDataBaseDB — класс сгенерированный linq2db для доступа к БД