|
|
|
Синхронизация двух гридов
|
|||
|---|---|---|---|
|
#18+
Столкнулся с такой проблемой - нужно было синхронизировать 2 грида. Тут на форуме я нашел как это сделать (к сожалению эту тему закрыли). Смысл там был в том что типа в датасете указывалась связь между двумя таблицами по ID как Both Relation and Key Constraint (Cascade). Фсе работало отлично пока не понадобилось заполнять главный грид по условию (по дате). И теперь получается что из таблицы с ключом выбирются данные по запросу а со второй (подчиненной) таблицы - не выбираются (если быть точнее при заполнении DataSet1.Table2 - кидает ошибку "Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints."). Если убирать условия выбора с главной таблицы то все ок а с условием не пашет. Подскажите в чем дело плз. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2007, 12:49 |
|
||
|
Синхронизация двух гридов
|
|||
|---|---|---|---|
|
#18+
я плохо выразил суть проблемы или просто никто не знает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2007, 15:51 |
|
||
|
Синхронизация двух гридов
|
|||
|---|---|---|---|
|
#18+
Дело в том, что в подчиненной странице встречаются записи, внешний ключ которых должен был бы присутствовать в главной таблице, да нет его, потому что он отфильтрован. Поэтому видиться мне два выхода: 1. Если фильтрация не клиентская (а она у вас сто пудов не клиентская, иначе не было бы ошибки), то добавьте в запрос на выборку записей для подчиненной таблицы те же даты, и фильтруйте в запросе так, чтобы там не встречались записи, которые ссылаются на записи внешней таблицы, которые были отфильтрованы 2. Сделайте клиентскую фильтрацию, если возможно (а скорее всего это невозможно) ПС. Клиентская фильтрация - это в которая в DataTable.DefaultView.RowFilter ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2007, 15:57 |
|
||
|
Синхронизация двух гридов
|
|||
|---|---|---|---|
|
#18+
Sergey Tokarev 1. Если фильтрация не клиентская дело в том что фильтрации нету вообще - просто тупо в датасете указана связь между этими двумя таблицами, и в подчиненном гриде в datamember указано название этой связи. Если выбирать с подчиненной таблицы данные с такими же датами - то в ней нету поля с датами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2007, 16:24 |
|
||
|
Синхронизация двух гридов
|
|||
|---|---|---|---|
|
#18+
Хм. Если вы заполняете грид по условию, то есть по дате, то это и есть то, что я имею ввиду, говоря "фильтрация". Смотрите. Пусть есть две таблицы Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2007, 18:05 |
|
||
|
Синхронизация двух гридов
|
|||
|---|---|---|---|
|
#18+
Sergey TokarevХм. Если вы заполняете грид по условию, то есть по дате, то это и есть то, что я имею ввиду, говоря "фильтрация". Смотрите. Пусть есть две таблицы Код: plaintext 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. Спасибо - помогло!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2007, 10:47 |
|
||
|
|

start [/forum/topic.php?fid=17&fpage=92&tid=1352656]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 331ms |

| 0 / 0 |
