powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не могу обновить грид:(
15 сообщений из 15, страница 1 из 1
Не могу обновить грид:(
    #34682360
den12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте! Всё пытаюсь с гирдом разобраться:)
Источник данных грида-запрос sql
На форме есть грид и кнопка, которая обновляет записи.
Сразу после обновления записи необходимо обновлять их отображение в гриде.
Пытаюсь решить эту задачу таким кодом на событии нажатия кнопки:

thisform.Grid1.Columns(1).setfocus

idvar=thisform.Grid1.Column1.Text1.Value

thisform.Grid1.RecordSource=null

UPDATE TABLE1 SET STATUS_ZAPISI=.F. WHERE ID = IDVAR

thisform.Grid1.RecordSource="select * from TABLE1 where status_zapisi = .t."

thisform.Refresh

Записи в гриде обновляются, но при выполнении строки
thisform.Grid1.RecordSource="select * from TABLE1 where status_zapisi = .t."

вылетает зачем то окошко с резуьтатом этого запроса поверх моей формы.
Подскажите пожалуйста из за чего это происходит и как это убрать?
...
Рейтинг: 0 / 0
Не могу обновить грид:(
    #34682375
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Не могу обновить грид:(
    #34682412
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Происходит это из-за того, что в запросе
Код: plaintext
select * from TABLE1 where status_zapisi = .t.
нет указания куда направить результат выборки, то есть нет слова INTO и указание на получателя результата. В таких случаях результат отправляется в курсор Query и показывается в окне Browse.

Решение: указать курсор.

Но! Существует еще такая штука как Requery(), не требующая изменения RecordSource и тех телодвижений, которые тут кажутся совсем лишними.

Сделал update.
Grid1.Requery()
Grid1.Refresh()
...
Рейтинг: 0 / 0
Не могу обновить грид:(
    #34682451
den12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошелмимо
спасибо. это как я понял пример работающей программы с гридом, но я пока пытаюсь не лезть в дебри ООП, а решать задачи самым простым путём.
...
Рейтинг: 0 / 0
Не могу обновить грид:(
    #34682459
den12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Sizov.
Сделал update.
Grid1.Requery()
Grid1.Refresh()

выскакивает сообщение: свойство Requery не найдено
...
Рейтинг: 0 / 0
Не могу обновить грид:(
    #34682483
Код: plaintext
Requery(ИмяКурсора)
...
Рейтинг: 0 / 0
Не могу обновить грид:(
    #34682549
den12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходящий.
Код: plaintext
Requery(ИмяКурсора)

Хм.. Но вообще то у меня источник записей грида не курсор
...
Рейтинг: 0 / 0
Не могу обновить грид:(
    #34682569
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор в дебри ООП, а решать задачи самым простым путём.

Вы решаете задачи плохим путем.

ООП и абстракция - основной способ решить
задачу просто и избежать ошибок.

не верите мне - обратитесь к источникам
и проверьте (читайте все на тему Логика, применение абстракции)
...
Рейтинг: 0 / 0
Не могу обновить грид:(
    #34682630
авторХм.. Но вообще то у меня источник записей грида не курсор
Источник записей в гриде всегда курсор или таблица. Всегда. То, что вы получаете в результате выполнения запроса, написанного в RecordSource, попадает в курсор. Имя этого курсора посмотрите сами после слов "into cursor" в вашем запросе, находящемся в recordsource. Грид показывает его. Вот его и обновляйте.
...
Рейтинг: 0 / 0
Не могу обновить грид:(
    #34682800
den12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошелмимо автор в дебри ООП, а решать задачи самым простым путём.

Вы решаете задачи плохим путем.

ООП и абстракция - основной способ решить
задачу просто и избежать ошибок.

не верите мне - обратитесь к источникам
и проверьте (читайте все на тему Логика, применение абстракции)
Чувствуется, что Вы решаете все задачи только хорошим путём:)
Я новичок в FoxPro, поэтому я иду от простого к сложному. Такой путь изучения FoxPro считаю для себя наилучшим:)
Вопрос в том, является ли КОНКРЕТНЫЙ способ решения задачи корректным и рациональным с точки зрения имянно FOXPRO, а не с точки зрения каких то наших субъективных представений о стиле программирования:Р
...
Рейтинг: 0 / 0
Не могу обновить грид:(
    #34682843
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам верно советуют простой способ. Если результат запроса выводится в курсор, то табличка вылетать не будет.

thisform.Grid1.RecordSource="select * from TABLE1 into cursor tmp where status_zapisi = .t."
...
Рейтинг: 0 / 0
Не могу обновить грид:(
    #34682880
den12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DagВам верно советуют простой способ. Если результат запроса выводится в курсор, то табличка вылетать не будет.

thisform.Grid1.RecordSource="select * from TABLE1 into cursor tmp where status_zapisi = .t."

Спасибо за конкретный ответ! Всё работает.
...
Рейтинг: 0 / 0
Не могу обновить грид:(
    #34682976
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНу что же, не могу позволить себе тратить время на исправление косяков в системе, которая всё время косячит.

это кажется Ваше изречение



Лис у Вас косячит по причине незнания стратегии и подходов.
Я Вас пытался сунуть в буферизацию с применением класса-поредника.
(в свободное время почитайте про это).
Ну я думаю, что Вы пэйпер крутой, поэтому проторите себе дорожку самостоятельно.

не в обиду, а для размышления, запомните только одну истину:
дураки учатся на своих ошибках, а умные ...
...
Рейтинг: 0 / 0
Не могу обновить грид:(
    #34683039
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошелмимо

на своих ошибках учатся умные, на чужих - мудрые,
дураки - оне не учатся вообще :-)
...
Рейтинг: 0 / 0
Не могу обновить грид:(
    #34684479
den12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошелмимо

Извините, если обидел Вас, но, согласитесь, тоже обидно, когда проработав 7 лет в програмиировании, читаешь про себя:

прошелмимо
Вы решаете задачи плохим путем.

Тактичнее надо быть.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не могу обновить грид:(
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]