|
|
|
IBDataSet только для просмотра, DBNavigator кнопка refresh не доступна
|
|||
|---|---|---|---|
|
#18+
Доброе время суток, Есть две два рабочих отдела - они делают работу. Есть контролер за этими отделами (он может только смотреть). Для контролера, также использую компонент IBDataSet для доступа к БД Firebird, только для просмотра (инф. из этих двух отделов) сложного запроса (из нескольких таблиц), т.е. в нем заполнены только свойства «RefreshSQL» и «SelectSQL». Таким образом, в компоненте «DBNavigator» доступны только кнопки навигации, а кнопка «обновления» - осталась не доступна . Как мне сделать ее доступной? Спасибо за ответ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2019, 15:35 |
|
||
|
IBDataSet только для просмотра, DBNavigator кнопка refresh не доступна
|
|||
|---|---|---|---|
|
#18+
Sergey-2008, гм, для "обновления" данных нужно перевыполнить SelectSQL, а для обновления текущей строки - RefreshSQL. Никаких других способов обновления данных из SQL серверов нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2019, 17:27 |
|
||
|
IBDataSet только для просмотра, DBNavigator кнопка refresh не доступна
|
|||
|---|---|---|---|
|
#18+
kdv, да, я знаю. Просто мне хотелось бы, чтоб в DBNavigator ("привязанного к DataSet ), кнопка " refresh " была доступна для нажатия, а без запросов на модификацию в DataSet этого не добиться. Я так понимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2019, 17:58 |
|
||
|
IBDataSet только для просмотра, DBNavigator кнопка refresh не доступна
|
|||
|---|---|---|---|
|
#18+
Sergey-2008Я так понимаю. Что-то мешает тебе посмотреть ему в исходники и точно знать условие доступности этой кнопки?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2019, 17:59 |
|
||
|
IBDataSet только для просмотра, DBNavigator кнопка refresh не доступна
|
|||
|---|---|---|---|
|
#18+
Sergey-2008использую компонент IBDataSet для доступа к БД Firebird, только для просмотра (инф. из этих двух отделов) сложного запроса (из нескольких таблиц), т.е. в нем заполнены только свойства «RefreshSQL» и «SelectSQL». Таким образом, в компоненте «DBNavigator» доступны только кнопки навигации, а кнопка «обновления» - осталась не доступна . Не используй TDBNavigator, это - глючный компонент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2019, 19:52 |
|
||
|
IBDataSet только для просмотра, DBNavigator кнопка refresh не доступна
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, В исходниках есть такое свойство у "DataSet" называется "CanRefresh", вот оно суйчас "false", а нужно "true". И это свойство только для чтения. потом пошло "TDataSet.CanModify" но мне не надо модификации... есть еще одна штука, в aftescroll поставить DBNavvigator.Controls[Ord(nbRefresh)].Enabled := true; - но это не выход ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2019, 20:22 |
|
||
|
IBDataSet только для просмотра, DBNavigator кнопка refresh не доступна
|
|||
|---|---|---|---|
|
#18+
Sergey-2008В исходниках есть такое свойство у "DataSet" называется "CanRefresh", вот оно суйчас "false", а нужно "true". И это свойство только для чтения. Почитать глубже и понять почему оно false - "mission impossible"? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2019, 20:33 |
|
||
|
IBDataSet только для просмотра, DBNavigator кнопка refresh не доступна
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, не углубляться продолжим, - интересно... (а может быть костыль - заполнить свойство - DataSet.UpdateObject? - ну это так между прочим, костылей нам е надо) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2019, 20:41 |
|
||
|
IBDataSet только для просмотра, DBNavigator кнопка refresh не доступна
|
|||
|---|---|---|---|
|
#18+
Sergey-2008а может быть костыль Еще раз: TDBNavigator - исторически глючный компонент. Можешь исправить код метода TDBNavigator.DataChanged() и привести поведение к желаемому, ничего особенного в такой правке нет. Можешь вместо TDBNavigator использовать другие навигаторы, например, TcxDBNavigator. Можешь сделать класс-заготовку окна или фрейма, размещающего грид, датасет, датасорц, экшнлист и кнопки. А потом просто наследоваться от такого класса. Можешь использовать гриды с встроенным навигатором (TcxGrid). T cx DBNavigator: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2019, 21:15 |
|
||
|
IBDataSet только для просмотра, DBNavigator кнопка refresh не доступна
|
|||
|---|---|---|---|
|
#18+
Sergey-2008В исходниках есть такое свойство у "DataSet" называется "CanRefresh", вот оно суйчас "false", а нужно "true". И это свойство только для чтения. потом пошло "TDataSet.CanModify" но мне не надо модификации... есть еще одна штука, в aftescroll поставить DBNavvigator.Controls[Ord(nbRefresh)].Enabled := true; - но это не выход Выход, на мой взгляд, вот какой, - поменять прямо в исходниках соотв строку в TDBNavigator.EditingChanged на Buttons[nbRefresh].Enabled := Enabled and FDataLink.Active и больше по этому поводу никогда не париться. Кроме того предлагаю перенести этот топик в ветку Delphi, как более соответствующую затрагиваемой тематике. Модератор: Тема перенесена из форума "Firebird, InterBase". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2019, 09:09 |
|
||
|
IBDataSet только для просмотра, DBNavigator кнопка refresh не доступна
|
|||
|---|---|---|---|
|
#18+
Что не понятно из этого кода? Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2019, 14:50 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=80&tid=2039732]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 205ms |
| total: | 385ms |

| 0 / 0 |
