Может ламерский вопрос задам, но уж так получилось разрабатывать приложение на формочках с работай в большой развитой БД и решено было использовать .NET 2.0 (из-за студии'05).
Вообщем работаю в дизайнере форм, сформировал типизированный DataSet1, на главной форме датагрид, еще одна формочка открывает выбранную в гриде запись на редактирование с подробными полями, и доп. функциональностью. Дизайнер на каждую форму кидает свой объект dataSet1, который каждый раз надо заполнять, апдейтить и следить за этим.
Я не знаю правильно ли это, но мне почему то кажется что должен быть один объект датасета на всю программу, потому что формочек много, а данные одни. И еще не понимаю как было бы правильно передовать "курсор" и открывать именно те данные, которые были выбраны.
Может есть какие-нибудь общие рекомендации, я конечно много чего перечитал в рамках отведенного мне времени, а его практически нет, но ничего не нашел именно по моим вопросам. Как работает грид, привязка данных и проч. Понимаю что так не делается, но мне что-то надо показать заказчику, а потом уже изучать дальше, дорабатывать как надо.
Помогите пожалуйста, я даже не буду рассказывать каким извратом "указатель" щас передается, а то топик полетит в КУ. Спасибо.
Упрощу вопрос:
— есть ли смысл иметь один объект DataSet на весь проект (объявляя и инициализируя его в классе, где объявлен Main() ?
— как с грида передавать курсор на текущую запись в новую форму с Text, ComboBox контролами, завязанными на эту запись?
Помогите пожалуйста, может есть нормальная статья или пример, а то все что я нахожу — это типа DtaGridView для гурманов, мне еще такая круть не нужна.. хотябы простые вещи реализовать.
hVostt пишет: > — есть ли смысл иметь один объект DataSet на весь проект (объявляя и > инициализируя его в классе, где объявлен Main() ?
Нет.
> — как с грида передавать курсор на текущую запись в новую форму с Text, > ComboBox контролами, завязанными на эту запись?
Зачем?
Можно, кстати, передавать DataRow.
> Помогите пожалуйста, может есть нормальная статья или пример, а то все > что я нахожу — это типа DtaGridView для гурманов, мне еще такая круть не > нужна.. хотябы простые вещи реализовать.
Непонятно что Вы хотите и, соответственно, нельзя сказать, как это лучше
сделать. Один из возможных вариантов вообще не использовать датасеты и
биндить грид к List<BusinessObject> и, соответственно, передавать форме
BusinessObject.
Posted via RSDN NNTP Server 2.1 beta
Всё, что нас не убивает, ещё горько об этом пожалеет.
Здравствуйте, hVostt, Вы писали:
V>Я не знаю правильно ли это, но мне почему то кажется что должен быть один объект датасета на всю программу, потому что формочек много, а данные одни. И еще не понимаю как было бы правильно передовать "курсор" и открывать именно те данные, которые были выбраны.
Можно воспользоваться ADO.NET провайдерами от Core Lab (http://crlab.com/products-adonet.html) которые обеспечивают такую возможность (один инстанс датасета шарится между несколькими формами).
Всё user-friendly в design-time. Позиция может синхронизироваться автоматически. Более подорбно смотри на компонент DataLink и статью InterForm Technology в доке. Можно посмотреть, как оно работает на триале.
Здравствуйте, alexeybg, Вы писали:
A>Здравствуйте, hVostt, Вы писали: A>(skipped)
A>Можно воспользоваться ADO.NET провайдерами от Core Lab (http://crlab.com/products-adonet.html) которые обеспечивают такую возможность (один инстанс датасета шарится между несколькими формами).
A>Всё user-friendly в design-time. Позиция может синхронизироваться автоматически. Более подорбно смотри на компонент DataLink и статью InterForm Technology в доке. Можно посмотреть, как оно работает на триале.
Спасибо мил человек! При первом рассмотрении это то, что нужно! Щас смотрю триал и DataLink
Еще вопрос в догонку, а OraDirect.NET без установленного клиента Oracle работать могут?
Здравствуйте, hVostt, Вы писали: V>Еще вопрос в догонку, а OraDirect.NET без установленного клиента Oracle работать могут?
Да, может работать, достаточно указать Direct=true в connection string.
Здравствуйте, alexeybg, Вы писали:
A>Здравствуйте, hVostt, Вы писали: V>>Еще вопрос в догонку, а OraDirect.NET без установленного клиента Oracle работать могут? A>Да, может работать, достаточно указать Direct=true в connection string.
Еще в connection string нужно в Data Source указать сервер, на котором работает Oracle, а в SID — instance name (orcl)
Я бы предожил бы пойти дальним путем прочитать, что такое MVP (Model-View-Presenter), Enterprise Library Data Access, Enterprise Library Caching. Потом бы прочитал доки из MSDN по Smart Client.
--
То, что вы уникальны еще не значит, что от вас есть толк