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

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

А у меня есть Грид например Грид1 с кнопками добавить, удалить и реадктировать
пока он пустой надо сделать что бы кнопки редактировать и удалить были Enabled как это сделать?
если через Seek то объясните поподробней
заранее спасибо
...
Рейтинг: 0 / 0
Помогие с гридами
    #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
Помогие с гридами
    #36029776
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переходишь на таблицу, которая является источником для Грид2

select table2
count to lnCount

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

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

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

PS Да курсач =))
...
Рейтинг: 0 / 0
Помогие с гридами
    #36029811
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Свободные таблицы открываются USE. Они такие же источники данных как несвободные или курсоры.
...
Рейтинг: 0 / 0
Помогие с гридами
    #36029813
FFFFFFFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно, что курсач. Его тоже можно сделать основательно или по-быстрому, чтобы просто показать.
...
Рейтинг: 0 / 0
Помогие с гридами
    #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
Помогие с гридами
    #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
Помогие с гридами
    #36031288
_4eJL_no
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GermanGM, На 4 строке выдает ошибку("В командной строке использована фраза, начинающаяся с недопустимого ключевого слова"). В каком методе это прописывать? Случайно не в AfterRowColChange главного грида?
...
Рейтинг: 0 / 0
Помогие с гридами
    #36031311
GermanGM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_4eJL_no, прошу прощения:

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

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


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