|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
В программе стоит сортировка всех полей по клику на хедер поля, как реализовано: В методе serorder формы код Код: plsql 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. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156.
На каждом клик хедере прописано Код: plsql 1.
Индексы прописаны в load формы Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Все работает как часы, но только если я не совершаю никаких действий помимо кликов по хедеров, как только жму удаление, редактирование, или фильтрую записи с помощью комбобоксов, то сортировка просто перестает работать, без всыких ошибок, просто ничего не происходит, везде использую курсор cgr1. Видимо код вызывает разрушение и перестройку грида и стоило бы использовать параметризованный cursoradapter , но я про него ничего не знаю и вряд ли смогу написать что-то дельное ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2016, 23:00 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
starsooВсе работает как часы, но только если я не совершаю никаких действий помимо кликов по хедеров, как только жму удаление, редактирование, или фильтрую записи с помощью комбобоксов, то сортировка просто перестает работать, без всыких ошибок, просто ничего не происходит, везде использую курсор cgr1. Видимо код вызывает разрушение и перестройку грида и стоило бы использовать параметризованный cursoradapter , но я про него ничего не знаю и вряд ли смогу написать что-то дельное Надо бы показать что за код подразумевается под "удаление, редактирование, или фильтр". Если курсор не пересоздается, то сортировка должна работать. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 06:40 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
Dima T, Допустим на кнопке добавить такой код Код: plsql 1. 2.
Там открывается новая форма, если я в ней даже ничего делать не буду и просто закрою её и вернусь к первой форме, то сортировка уже не работает ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 19:14 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
Такой код стоит на активации формы Код: plsql 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. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78.
Этот на ините Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 19:35 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
starsooDima T, Допустим на кнопке добавить такой код Код: plsql 1. 2.
Там открывается новая форма, если я в ней даже ничего делать не буду и просто закрою её и вернусь к первой форме, то сортировка уже не работает Сделай простенький пример демонстрирующий твою проблему. Минимальный проект, чтобы скачать, запустить и увидеть повторение твоей проблемы. То что ты тут приводишь не может вызвать те проблемы которые ты описываешь, значит проблемы в том коде, который ты считаешь "правильным" и сюда не даешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 19:49 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
starsoo, думаете, если на фоксклубе не удалось выклевать всем мозги, то можно тут еще попробовать? Вы может таки, наконец-то, попробуете научиться задавать вопросы и приводить информацию в понятном виде? Выдали две портянки, в обоих "очень понятное" объяснение "методе serorder формы", "Там открывается новая форма", "Такой код стоит на активации формы", "Этот на ините"... КАКОЙ Формы? ТАМ - это ГДЕ? КАКОЙ формы? ИНИТЕ ЧЕГО? КТО на КОМ стоял? ЧТО и ОТКУДА вызывается? ЗАЧЕМ на активации формы идет пересоздание курсора и его переиндексация? Мы это все должны угадать? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 19:49 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
Есть форма nir.scx, на ините этой формы прописан код для заполнения комбобоксов находящихся на этой форме Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
[/SRC] На load этой формы Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
На активации данной формы стоит код Код: plsql 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. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76.
Также я создал свой метод для данной формы и прописал там код для сортировки с помощью клика по хедерам Код: plsql 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. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156.
Соответственно на хедерах грида, который привязан к этой форме стоит код Код: plsql 1.
(2,3,4 и тд) Эту форму nir.scx, я вызываю из меню, открывается форма с заполненным гридом, который берет свою информацию из курсора cgr1, а тот в свою очередь из таблицы proj33. Суть проблемы: при открытии формы и кликах по хедерам вся информация сортируется без ошибок , как только я открываю форму добавления записей(кнопка добавить на форме nir.scx, в коде кнопки SET Код: plsql 1. 2.
) и закрываю её сразу же( с помощью крестика в правом верхнем углу формы), сортировка перестает работать, просто 0 реакции ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 20:18 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
starsooНа активации данной формы стоит код Код: sql 1. 2. 3. 4.
Эту форму nir.scx, я вызываю из меню, открывается форма с заполненным гридом, который берет свою информацию из курсора cgr1, а тот в свою очередь из таблицы proj33. Суть проблемы: при открытии формы и кликах по хедерам вся информация сортируется без ошибок , как только я открываю форму добавления записей(кнопка добавить на форме nir.scx, в коде кнопки SET Код: plsql 1. 2.
) и закрываю её сразу же( с помощью крестика в правом верхнем углу формы), сортировка перестает работать, просто 0 реакцииВы в курсе когда и сколько раз вызывается активация формы? В которой вы грохаете и пересоздаете свой курсор. Который все вам и рушит дальше. Сколько раз и как вам еще объяснять, что НЕ НАДО каждый раз создавать курсор, что его надо создавать только 1(ОДИН) раз? Вам разве не писали, что курсор надо создавать в LOAD формы, а никак не в активации? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 20:25 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
правильный проходящий., Убрал все с активации, это поставил на load Код: plsql 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.
А переименовку полей на инит, теперь другая проблема. У меня 4 комбобокса (каждый привязан к определенному полю) на форме nir.scx. Информацию эти комбо берут из таблицы vuz.dbf, но фильтруют они таблицу находящуюся в гриде(proj33) с помощью связки полей proj33.codisp и vuz.codvuz. Вот пример 1го из комбобоксов, код стоит на interactivechange Код: plsql 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.
И теперь(после проделанных выше изменений) после нескольких кликов по комбо, выскакивает ошибка cannot access selected table.cb4 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2016, 20:56 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
Подскажете как поправить? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 10:08 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
starsooУбрал все с активации, это поставил на loadУбрать можно ИЗ метода и вставить В другой метод. Код нахожится внутри методов/процедур/функций/файлов, а не на их поверхности, которой, к тому же, у них нет.фильтруют они таблицу находящуюся в гриде(proj33) Врешь. Грид у тебя показывает курсор cgr1, который хоть и получен из proj33, но больше с ней никак не связан.с помощью связки полей proj33.codisp и vuz.codvuz. Вот пример 1го из комбобоксов,Ужас. код стоит на interactivechangeНе стоит, а написан, и не НА, а В.И теперь(после проделанных выше изменений) после нескольких кликов по комбо, выскакивает ошибка cannot access selected table.cb4Нескольких - это скольких? По одному комбо или по разным? В каком порядке? Соберите уже ваши формы и таблицы в кучку и выложите на изучение. Невозможно лечить по описанию фотографии, когда еще и это описание диктуют по испорченному телефону. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 10:24 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
правильный прозодящий., В методе 1го комбо interactivechange записан такой код Код: plsql 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.
В таком же методе 2го комбо Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
На 3ем комбо Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
На 4ом Код: plsql 1. 2. 3. 4. 5. 6.
+в каждом комбо в этом же методе ниже дописан такой код, без него грид остается пустым после кликов по комбобоксам Код: plsql 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.
Теперь к проблеме: после клика по 1ому комбо и выбору там фед округа я перехожу ко 2ому и выбираю там субъект федерации. Выбрал субъект и если записи при данном выборе отсутствуют , то он выдает ошибку record is out of range и следом за ней cannot access the selected table. cb4, жму ок и 4ый комбобокс(cb4) просто пропадает с формы и надо перезапускать полностью проект ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 10:39 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
starsooВ методе 1го комбо interactivechange записан такой код Код: plsql 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.
В таком же методе 2го комбо Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
На 3ем комбо Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
На 4ом Код: plsql 1. 2. 3. 4. 5. 6.
А теперь посчитайте сколько раз в процитированном выше тексте используется команда Код: sql 1.
? +в каждом комбо в этом же методе ниже дописан такой код, без него грид остается пустым после кликов по комбобоксам А чего вы ожидали после очередного пересоздания вашего любимого курсораcgr1? Сколько раз надо написать, что создание этого курсора должно быть один раз? В методе Load и нигде больше. Теперь к проблеме: после клика по 1ому комбо и выбору там фед округа я перехожу ко 2ому и выбираю там субъект федерации. Выбрал субъект и если записи при данном выборе отсутствуют ,В каком ДАННОМ? ГДЕ отсутствуют записи? то он выдает ошибку record is out of range и следом за ней cannot access the selected table. cb4, жму ок и 4ый комбобокс(cb4) просто пропадает с формы и надо перезапускать полностью проектВыкладывайте уже всё, что просили. Задолблся загадки отгадывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 10:57 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
правильный проходящий., В 1ом комбо выбираю: приволжский Во 2ом комбо : елабгу В гриде записей не остается(так и должно быть) но сразу выскакивает ошибка cannot access selected table. cb4 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 11:04 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
Если убрать из каждого комбо SELECT * FROM proj33 ... INTO cursor cgr1 readwrite то фильтр просто сломается ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 11:20 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
starsooправильный проходящий., В 1ом комбо выбираю: приволжский Во 2ом комбо : елабгу В гриде записей не остается(так и должно быть) но сразу выскакивает ошибка cannot access selected table. cb4Разумеется. Этот курсор у вас же не всегда создается. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 11:22 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
правильный проходяший., Как тогда поправить проблему? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 11:22 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
starsooЕсли убрать из каждого комбо SELECT * FROM proj33 ... INTO cursor cgr1 readwrite то фильтр просто сломаетсяРазумеется. И правильно. Потому что надо не перестраивать курсор, а менять значения в условиях его отбора. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 11:24 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
starsooправильный проходяший., Как тогда поправить проблему?Остановиться и наконец-то и для себя, и для пытающихся помогать вам, сформулировать основную задачу. С озвучиванием всех условий на все отборы и фильтры. После получения внятной формулировки будет понятно что дальше делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 11:28 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
правильный проходящий., Основная задача-это получить рабочую программу с работающей сортировкой с кликом по хедерам и работающей фильтрацией с помощью комбобоксов ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 11:43 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
Получается надо в каждом комбо SELECT * FROM proj33 ... INTO cursor cgr1 readwrite заменить на что-то ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 12:06 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
starsooОсновная задача-это получить рабочую программу с работающей сортировкой с кликом по хедерам и работающей фильтрацией с помощью комбобоксов Тебе уже несколько раз написали - давай рабочий пример кода. Скачаем, запустим. Сделай проект из одной формы, на ней 4 комбо, приложи таблицу, напиши что ткнуть чтобы повторить косяк. Весь рабочий проект не надо, только минимальный минимум повторяющий ошибку. Объяснять толком ты не умеешь, тепатов тут нет, ХЗ что ты счел неважным и не сказал, что у тебя там понаписано кроме того что сюда попало. Попробуй: 1. перестраивать другие комбо в LostFocus(), а не в interactivechange() 2. отвяжи курсоры от комбо (RowSourceType = 0), заполняй так Код: sql 1. 2. 3. 4. 5. 6.
Убирай большие куски кода под спойлер, невозможно топик читатьВ меню дополнительно - spoiler ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 12:19 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
Dima T, Вот проект, выберите в 1ом комбо "приволжский" и во 2ом "бирск" должна появится ошибка cannot access selected table cb4 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 12:23 |
|
Проблема с сортировкой
|
|||
---|---|---|---|
#18+
Похоже фокс сглючивает от такого издевательства. Перед пересозданием курсора надо RowSource убирать Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2016, 12:50 |
|
|
start [/forum/topic.php?fid=41&msg=39321734&tid=1582044]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 259ms |
total: | 396ms |
0 / 0 |