Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Grid(ёныш) / 25 сообщений из 29, страница 1 из 2
13.02.2006, 13:39
    #33540772
chukcha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
Как сделать так, что если условие для set filter выполняется, то надо вывести из одной таблицы 2-а поля в Grid, а иначе Grid должен быть пустым.
...
Рейтинг: 0 / 0
13.02.2006, 13:45
    #33540796
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
А что Вы вкладываете в понятие: "условие для set filter выполняется"

Grid отображает то, что есть. Т.е. все записи удовлетворяющие условию фильтра.
...
Рейтинг: 0 / 0
13.02.2006, 17:30
    #33541590
chukcha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
К примеру:
set filter to fam='Иванов'

И далее мне нужно сделать так чтобы в грид выводились записи у которых поле fam=Иванов

Можно ли так сделать используя грид?
...
Рейтинг: 0 / 0
13.02.2006, 17:31
    #33541597
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
2 chukcha
Grid.refresh
...
Рейтинг: 0 / 0
13.02.2006, 17:56
    #33541666
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
-) Фильтр вступает в силу, только после перемещения указателя записи в той таблицы, на которую он накладывается
-) Картинка Grid обновляется только после получения им фокуса

Следовательно, необходимо сделать:

Код: plaintext
1.
2.
3.
4.
SELECT MyTab
set filter to fam='Иванов' 
GO TOP 
ThisForm.MyGrid.SetFocus()
...
Рейтинг: 0 / 0
15.02.2006, 14:57
    #33546611
chukcha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
для ВладимирМ:

Попробовал

SELECT MyTab
set filter to fam='Иванов'
GO TOP
ThisForm.MyGrid.SetFocus()

и не работает.В грид выводятся все данные таблицы, а не отфильтрованные.

Если вам несложно пожалуста укажите процедуру, где необходимо указывать код фильтрации, и обновления грида.
...
Рейтинг: 0 / 0
15.02.2006, 15:03
    #33546643
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
Делается все элегантно и просто

заводится у формы свойство filter
делается ассайн мтод на него

и в ассайн методе уже прописываем
наложение фильтра и отключение видимости колонок

пример накидать???
...
Рейтинг: 0 / 0
15.02.2006, 15:10
    #33546684
chukcha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
Да-да-да-да-да-да-да-да-да-да-да
...
Рейтинг: 0 / 0
15.02.2006, 15:15
    #33546706
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
сейчас
свое разгребу
...
Рейтинг: 0 / 0
15.02.2006, 15:25
    #33546760
О_В_Д
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
А что, если в гриде колонок мало не лутше ли подвязать его к курсору, в который и будут скидываться эти самые Ивановы, Петровы и Гавриковы по вашему выбору?
...
Рейтинг: 0 / 0
15.02.2006, 16:38
    #33547079
chukcha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
для О_В_Д:

Если можно, то раскажите про это поподробнее
...
Рейтинг: 0 / 0
15.02.2006, 17:41
    #33547266
Ш_фь222
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
chukchaдля О_В_Д:

Если можно, то раскажите про это поподробнее

SELECT .. FROM.. WHERE..'Иванофф' INTO CURSOR Ifanoff

This..Grid.RecordSource = 'Ifanoff'

в этом направлении смотреть...
...
Рейтинг: 0 / 0
15.02.2006, 17:41
    #33547267
О_В_Д
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
Вот так без самого фокса под рукой навскидку
Ну типа имеем таблу Person:
cFamly, cName, cOtch, dGorn, cAdres и т.д.
Далее прописываем в форме для грида:
Код: plaintext
1.
2.
3.
...Grid1.RecordSource=CursViborka
...Grid1.RecordSourceType= 4  (SQL запрос)
...Grid1.Column1.ControlSource=CursViborka.cFamly
...Grid1.Column2.ControlSource=CursViborka.cName и т.д.
Значение фильтра вводится по желанию через комбо или текстбокс txtFiltr.
По нажатию командной кнопы запусскатся запрос:
Код: plaintext
1.
2.
SELECT Person.cFamly, Person.cName, Person.cOtch, Person.dGorn,;
Person.cAdres FROM Person INTO CURSOR CursViborka;
WHERE Person.cFamly=...txtFiltr.Value
Вся фигня в том, что после выборки надо обновить все эти вышеуказные установки грида, а то он пустой останется после REFRESH, поэтому для слишком многоколончатого грида заколебешься все оформлять в коде
...
Рейтинг: 0 / 0
15.02.2006, 21:48
    #33547672
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
chukchaдля ВладимирМ:

Попробовал

SELECT MyTab
set filter to fam='Иванов'
GO TOP
ThisForm.MyGrid.SetFocus()

и не работает.В грид выводятся все данные таблицы, а не отфильтрованные.

Если вам несложно пожалуста укажите процедуру, где необходимо указывать код фильтрации, и обновления грида.
Ну, смотри примерчик во вложении. Написан на VFP6SP5
...
Рейтинг: 0 / 0
16.02.2006, 10:46
    #33548296
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
ВладимирМ , я немного подправил
я понимаю нужно так??
...
Рейтинг: 0 / 0
16.02.2006, 16:54
    #33549827
chukcha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
IF USED("tabTest") = .F.
CREATE CURSOR tabTest (tabTestId I, NickName C(50))

Поясните пожалуста
...
Рейтинг: 0 / 0
16.02.2006, 17:10
    #33549891
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
chukchaIF USED("tabTest") = .F.
CREATE CURSOR tabTest (tabTestId I, NickName C(50))

Поясните пожалуста
Если алиаса с именем "tabTest" не существует, создать курсор с таким алиасом.

Это просто "заплатка", чтобы не добавлять в архив еще и DBF-таблицу. Если таблица и так есть, то весь этот кусок можно смело выбрасывать.
...
Рейтинг: 0 / 0
17.02.2006, 14:50
    #33552331
chukcha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
для ВладимирМ:

[/quot]Если таблица и так есть, то весь этот кусок можно смело выбрасывать.[/quot]
Я еще выкунул кусок, где вы вводите TabTestId NickName. Я беру данные из таблицы, и вместо Text1 куда вы вводите данные фильтрации я использую глобальную переменую.

Вот ввел данные в глоб.перемен. перехожу на следующую форму и выдается такая ошибка:

Unknown member Grid1

Что не так?
...
Рейтинг: 0 / 0
17.02.2006, 14:56
    #33552358
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
Это надо понимать буквально. Нет объекта с именем Grid1.

Т.е. смотрите, где у Вас идет обращение к Grid1 и сравните реальное расположение этого объекта и вообще факт его существования.

Если он существует (это свойство Name соответствующего объекта), то надо смотреть где он лежит. Если как в примере, непосредственно на форме, то обращение к нему будет иметь вид вроде:

ThisForm.Grid1.SetFocus()

а вот попытка обратиться таким образом:

Grid1.SetFocus()

вызовет сообщение об ошибке.
...
Рейтинг: 0 / 0
17.02.2006, 15:47
    #33552599
chukcha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
Посмотрел свойство Name все правильно стоит Grid1, thisform тоже вроде везде есть там, где я обращаюся к гриду.

Когда ввел данные в глоб.перем. перехожу на другую форму и при выводе ошибки, игнорирую ее и все работает нормально. Может можно в коде прописать чтобы игнорировала эту ошибку или как?
...
Рейтинг: 0 / 0
17.02.2006, 16:03
    #33552662
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
Что означает фраза "ввел данные в глобальную переменную"?
...
Рейтинг: 0 / 0
17.02.2006, 16:23
    #33552756
chukcha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
Пример

в текстбокс ввожу фамилию 'Иванов' дальше перехожу на другую форму. И по ней уже осуществляется фильтрация
...
Рейтинг: 0 / 0
17.02.2006, 17:07
    #33552954
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
Что именно ты записал в глобальную переменную?

Т.е. вот ты ввел в TextBox фамилию "Иванов". Где и каким образом произошла запись этого значения в глобальную переменную?

Как (какой командой) настривается фильтр? Т.е. буквально, что именно пишешь?
...
Рейтинг: 0 / 0
18.02.2006, 18:19
    #33554032
chukcha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
Все нормально заработало.
Убрал строчку
ThisForm.MyGrid.SetFocus()

И у меня есть еще такой вопросик!
Я хочу по выходу из формы (нажатием на крестик в правок верхнем углу формы), сделать Set filrer to .

Если кто знает как это сделать скажите пожалуста
...
Рейтинг: 0 / 0
18.02.2006, 18:25
    #33554038
chukcha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Grid(ёныш)
Все нормально заработало.
Убрал строчку
ThisForm.MyGrid.SetFocus()

И у меня есть еще такой вопросик!
Я хочу по выходу из формы (нажатием на крестик в правок верхнем углу формы), сделать Set filrer to .

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


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