Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогие с гридами / 16 сообщений из 16, страница 1 из 1
07.06.2009, 14:35
    #36029711
_4eJL222
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогие с гридами
Доброго времени суток Всем.
У меня следующая поблема:
На форме есть 2 грида основной и подчиненный. При выборе из Грид1 Грид 2 обновлется с новыми данными. Для грида 2 есть кнопки Добавить, Редактировать и Удалить. Они работают.
Для некоторых данных Грид1 нет данных для отображения в Грид2. Проблема: необходимо как то проверять на пустоту Грид2 и если он пуст делать не доступным Редактирование и Удаление.
Помогите пожалуйста, заранее большое спасибо.
...
Рейтинг: 0 / 0
07.06.2009, 14:45
    #36029716
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогие с гридами
Какие данные отображаются в Гриде2 - курсор? таблица, накрытая фильтром? ваш вариант?
...
Рейтинг: 0 / 0
07.06.2009, 14:48
    #36029719
_4eJL222
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогие с гридами
Dag,

В Гриде 2 отображается таблица с фильтром который устанавливается в Гриде1 при переходе по записям.
...
Рейтинг: 0 / 0
07.06.2009, 14:59
    #36029738
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогие с гридами
Можно перед установкой фильтра запускать подсчет строк удовлетворяющий условию
COUNT FOR
или поиск первой записи по условию
LOCATE
если условие индексированное, то
SEEK или IndexSeek
...
Рейтинг: 0 / 0
07.06.2009, 15:20
    #36029756
_4eJL222
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогие с гридами
Dag,

А у меня есть Грид например Грид1 с кнопками добавить, удалить и реадктировать
пока он пустой надо сделать что бы кнопки редактировать и удалить были Enabled как это сделать?
если через Seek то объясните поподробней
заранее спасибо
...
Рейтинг: 0 / 0
07.06.2009, 15:38
    #36029769
Ffffffffffffff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогие с гридами
Если делать основательно, то посмотри примеры в стандартной поставке FoxPro:

DO "c:\program files\microsoft visual foxpro 9\samples\solution\solution.app"

Foundation Classes-Use Edit Buttons for a Complex Form (или другие похожие примеры).

А, если нужна затычка на один раз...
...
Рейтинг: 0 / 0
07.06.2009, 15:47
    #36029776
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогие с гридами
Переходишь на таблицу, которая является источником для Грид2

select table2
count to lnCount

IF lnCount>0
* активируем кнопки
else
* деактивируем кнопки
endif

Где-то так.
...
Рейтинг: 0 / 0
07.06.2009, 15:48
    #36029778
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогие с гридами
2 Ffffffffffffff
Курсач, если не ошибаюсь.
...
Рейтинг: 0 / 0
07.06.2009, 16:01
    #36029792
_4eJL222
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогие с гридами
Dag,

а если используются свободные таблицы то надо использовать Use так?
есть еще какие либо различия от источника данных?

PS Да курсач =))
...
Рейтинг: 0 / 0
07.06.2009, 16:22
    #36029811
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогие с гридами
Свободные таблицы открываются USE. Они такие же источники данных как несвободные или курсоры.
...
Рейтинг: 0 / 0
07.06.2009, 16:23
    #36029813
FFFFFFFF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогие с гридами
Понятно, что курсач. Его тоже можно сделать основательно или по-быстрому, чтобы просто показать.
...
Рейтинг: 0 / 0
08.06.2009, 14:52
    #36031153
_4eJL_no
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогие с гридами
Dag,
Возникла опять проблема=((
Так же на этой форме есть кнопка Расчет которая формирует отчет .Проблема заключается в следующем: После ее выполнения (кнопки Расчет)фокус смещается в последную строку главного грида, а должен оставаться в записи, где установлен фокус.

Подчиненный_Грид.REFRESH()
COUNT TO lnCount
IF lnCount>0
thisform.CmdEdit2.Enabled=.T.
thisform.CmdDel2.Enabled=.T.

ELSE

thisform.CmdEdit2.Enabled=.F.
thisform.CmdDel2.Enabled=.F.

ENDIF
...
Рейтинг: 0 / 0
08.06.2009, 15:04
    #36031188
GermanGM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогие с гридами
_4eJL_no, эх мне бы Ваши проблемы... :) Решение довольно очевидно: сохранение номера текущей записи в переменной и возврат на нее после перемещений по таблице, с чем бы они ни были связаны (с предварительной проверкой на EOF()):

Код: plaintext
1.
2.
3.
4.
5.
6.
local lnRecno
lnRecno=recno()
go top
store  !eof() to to thisform.CmdEdit2.Enabled,thisform.CmdDel2.Enabled
if between(lnRecno, 1 ,reccount())
 go lnRecno
endif

* Проверка на "пустоту" с помощью проверки значения EOF() работает быстрее COUNT на больших таблицах, хотя на примере для курсового проекта различий не будет
...
Рейтинг: 0 / 0
08.06.2009, 15:31
    #36031288
_4eJL_no
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогие с гридами
GermanGM, На 4 строке выдает ошибку("В командной строке использована фраза, начинающаяся с недопустимого ключевого слова"). В каком методе это прописывать? Случайно не в AfterRowColChange главного грида?
...
Рейтинг: 0 / 0
08.06.2009, 15:40
    #36031311
GermanGM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогие с гридами
_4eJL_no, прошу прощения:

Код: plaintext
store  !eof() to thisform.CmdEdit2.Enabled,thisform.CmdDel2.Enabled

"to" дважды написал...
...
Рейтинг: 0 / 0
09.06.2009, 01:49
    #36032198
_4eJL_no
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогие с гридами
GermanGM, Спасибо большое! Все работает!!!!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогие с гридами / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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