|
Master detail для больших таблиц
|
|||
---|---|---|---|
#18+
Доброе время суток, уважаемые коллеги! Помогите пожалуйста построить форму со сценарием Master detail. Есть две связанные таблицы в Oracle: - KABONENT - абонентs (тысячи строк) - ELECBA - квитанции(миллионы строк). Находил в интернете варианты построения Master detail форм (пр. ), но все они основаны на принципе: ограничивается число записей подчиненной таблицы, выставлением свойства DataView.RowFilter. Т.е. вся таблица загружается в память, а затем выводятся часть ее строк после фильтрации. А мне необходимо для каждого абонента выполнять заново запрос к таблице с квитанциями, чтобы выбрать только его строки. Как это сделать? Буду очень благодарен любой помощи ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2014, 14:33 |
|
Master detail для больших таблиц
|
|||
---|---|---|---|
#18+
salex42Буду очень благодарен любой помощи Тут масса примеров master-detail с перезапросом detail с сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2014, 14:38 |
|
Master detail для больших таблиц
|
|||
---|---|---|---|
#18+
Алексей К, Спасибо, что отозвались. Я посмотрел ваш проект, но мало что там понял. Я только начал изучать WPF. Не могли бы Вы привести какой-нибудь пример по проще? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2014, 15:31 |
|
Master detail для больших таблиц
|
|||
---|---|---|---|
#18+
Ничё не понял. В чём проблема? Если надо сделать что-то трудоёмкое - зачем это выводить пользователю? Делайте в памяти клиента или на сервере, а после фильтрации уже показывайте. В т. ч. с мастер-деталями. Вообще, всегда, когда просят "вывиди мине сто тыщь мильёнов строк", нужно спрашивать - "а накуа?". Пользователь что, будет в этом списке полосой прокрутки свою фамилию искать? Загрузите ему только кусочек на букву такую-то или по фамилии такой-то, или постраничный вывод. Я не знаю, что у вас за область и ситуация, но все эти мастер-детали, которые автоматом привязываются к выбранной строке из списков и тому подобное - в основном на небольшие списки рассчитаны и небольшие же детали. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2014, 19:08 |
|
Master detail для больших таблиц
|
|||
---|---|---|---|
#18+
user7320Ничё не понял. В чём проблема? Проблема в том что я не знал, как сделать перезапрос detail c сервера, а пользователю не нужно выводить миллионы строк, ему надо около сотни для каждой строки мастер блока. В общем после некоторых ковыряний и изменения алгоритма описанного здесь , получилось следующее: XAML: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
C# DataProvider для Detail блока: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54.
Связь реализована через DataSet, а FillBy - метод содержащий запрос с Bind переменной подобного вида Код: plsql 1. 2. 3.
Согласен, что реализация так себе, но рабочая, метод GetTuedogByEnterprice реализован плохо, пересоздавать dataset не стоит, но без этого возникает ошибка уникальности таблицы. Как можно реализовать по другому? Или по другому реализовать MethodName? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2014, 11:32 |
|
|
start [/forum/topic.php?fid=21&fpage=23&tid=1441145]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 131ms |
0 / 0 |