|
|
|
Не могу обновить грид:(
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Всё пытаюсь с гирдом разобраться:) Источник данных грида-запрос 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." вылетает зачем то окошко с резуьтатом этого запроса поверх моей формы. Подскажите пожалуйста из за чего это происходит и как это убрать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 11:26 |
|
||
|
Не могу обновить грид:(
|
|||
|---|---|---|---|
|
#18+
Происходит это из-за того, что в запросе Код: plaintext Решение: указать курсор. Но! Существует еще такая штука как Requery(), не требующая изменения RecordSource и тех телодвижений, которые тут кажутся совсем лишними. Сделал update. Grid1.Requery() Grid1.Refresh() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 11:36 |
|
||
|
Не могу обновить грид:(
|
|||
|---|---|---|---|
|
#18+
прошелмимо спасибо. это как я понял пример работающей программы с гридом, но я пока пытаюсь не лезть в дебри ООП, а решать задачи самым простым путём. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 11:46 |
|
||
|
Не могу обновить грид:(
|
|||
|---|---|---|---|
|
#18+
Sergey Sizov. Сделал update. Grid1.Requery() Grid1.Refresh() выскакивает сообщение: свойство Requery не найдено ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 11:47 |
|
||
|
Не могу обновить грид:(
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 11:53 |
|
||
|
Не могу обновить грид:(
|
|||
|---|---|---|---|
|
#18+
проходящий. Код: plaintext Хм.. Но вообще то у меня источник записей грида не курсор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 12:08 |
|
||
|
Не могу обновить грид:(
|
|||
|---|---|---|---|
|
#18+
автор в дебри ООП, а решать задачи самым простым путём. Вы решаете задачи плохим путем. ООП и абстракция - основной способ решить задачу просто и избежать ошибок. не верите мне - обратитесь к источникам и проверьте (читайте все на тему Логика, применение абстракции) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 12:12 |
|
||
|
Не могу обновить грид:(
|
|||
|---|---|---|---|
|
#18+
авторХм.. Но вообще то у меня источник записей грида не курсор Источник записей в гриде всегда курсор или таблица. Всегда. То, что вы получаете в результате выполнения запроса, написанного в RecordSource, попадает в курсор. Имя этого курсора посмотрите сами после слов "into cursor" в вашем запросе, находящемся в recordsource. Грид показывает его. Вот его и обновляйте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 12:27 |
|
||
|
Не могу обновить грид:(
|
|||
|---|---|---|---|
|
#18+
прошелмимо автор в дебри ООП, а решать задачи самым простым путём. Вы решаете задачи плохим путем. ООП и абстракция - основной способ решить задачу просто и избежать ошибок. не верите мне - обратитесь к источникам и проверьте (читайте все на тему Логика, применение абстракции) Чувствуется, что Вы решаете все задачи только хорошим путём:) Я новичок в FoxPro, поэтому я иду от простого к сложному. Такой путь изучения FoxPro считаю для себя наилучшим:) Вопрос в том, является ли КОНКРЕТНЫЙ способ решения задачи корректным и рациональным с точки зрения имянно FOXPRO, а не с точки зрения каких то наших субъективных представений о стиле программирования:Р ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 13:05 |
|
||
|
Не могу обновить грид:(
|
|||
|---|---|---|---|
|
#18+
Вам верно советуют простой способ. Если результат запроса выводится в курсор, то табличка вылетать не будет. thisform.Grid1.RecordSource="select * from TABLE1 into cursor tmp where status_zapisi = .t." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 13:17 |
|
||
|
Не могу обновить грид:(
|
|||
|---|---|---|---|
|
#18+
DagВам верно советуют простой способ. Если результат запроса выводится в курсор, то табличка вылетать не будет. thisform.Grid1.RecordSource="select * from TABLE1 into cursor tmp where status_zapisi = .t." Спасибо за конкретный ответ! Всё работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 13:27 |
|
||
|
Не могу обновить грид:(
|
|||
|---|---|---|---|
|
#18+
авторНу что же, не могу позволить себе тратить время на исправление косяков в системе, которая всё время косячит. это кажется Ваше изречение Лис у Вас косячит по причине незнания стратегии и подходов. Я Вас пытался сунуть в буферизацию с применением класса-поредника. (в свободное время почитайте про это). Ну я думаю, что Вы пэйпер крутой, поэтому проторите себе дорожку самостоятельно. не в обиду, а для размышления, запомните только одну истину: дураки учатся на своих ошибках, а умные ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 13:51 |
|
||
|
Не могу обновить грид:(
|
|||
|---|---|---|---|
|
#18+
прошелмимо на своих ошибках учатся умные, на чужих - мудрые, дураки - оне не учатся вообще :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 14:05 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34682412&tid=1588987]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
71ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
3ms |
| others: | 194ms |
| total: | 343ms |

| 0 / 0 |
