powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос по Grid
25 сообщений из 32, страница 1 из 2
Вопрос по Grid
    #33225422
travek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делаю поиск в таблице, нахожу запись. RECNO()=8 (к примеру). На форме есть Grid. Как реализовать, что бы курсор в гриде перемещался на указанную запись. У Grid RecordSource=table1
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225429
travek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да,забыл ещё спросить. Перемещаясь по Grid мне ещё потребуется перемещаться в таблице. Как это организовать. К примеру,переместились в Grid на 2 строки в низ и Recno() увелицился на 2 в соответствующей таблице
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225510
5631
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавь ThisForm.Grid1.Refresh
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225564
travek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я немного не понял. Если я просто вставляю в код grid.Refresh то ничего не происходит. Проясню ситуацию. У меня есть форма, на которой размещён Грид. Ьам есть кнопка. При её нажатии открывается новая форма с текстовым полем, в котором указываешь фамилию и делаешь поиск. У меня правильно находится запись, но вот курсор в первойформе в гриде никуда не перемещаетсят и вообще не появляется!
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225595
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сразу после нахождения записи надо нарисовать что-то вроде Твоя_первая_форма.grid1.refresh()
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225606
travek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот такой код ничего не делает!

SELECT "test1"
GO TOP IN test1
LOCATE FOR test1.name=ALLTRIM(thisform.text1.value)
frm1.Grid1.Refresh()
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225650
sar99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
добавь еще в конец кода:
frm1.grid1.setfocus()
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225664
travek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добавил! Теперь устанавливает курсор на первую запись, но никак не на нужную!!!
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225684
sar99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> курсор устанавливается на 1 - ю запись
значит при возвращении в frm1 где то есть go top
(может в activate формы ?)
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225710
travek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Go top нигде не нашёл. Я код опубликую, может где ошибка какая.
Главная программа

DO FORM "form2" NAME frm1
DROP TABLE "test1"
SELECT name,p_ser,p_nom, adres from db_path+"vk_klie.dbf" INTO TABLE test1
frm1.Grid1.ColumnCount=4
frm1.Grid1.RecordSourceType=0
frm1.Grid1.RecordSource="test1"
frm1.Grid1.AutoFit()
frm1.Grid1.Column1.Header1.Caption="xxx"
frm1.Grid1.Column2.Header1.Caption="yyy"
frm1.Grid1.Column3.Header1.Caption="zzz"
frm1.Grid1.Column4.Header1.Caption="aaa"

READ EVENTS

Код кнопки формы, которую вызываю:
SELECT "test1"
GO TOP IN test1
LOCATE FOR test1.name=ALLTRIM(thisform.text1.value)
GO RECNO() IN "test1"
frm1.Grid1.Refresh()
frm1.Grid1.setfocus()
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225742
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что то наподобие этого
Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT "test1"
LOCATE FOR test1.name=ALLTRIM(thisform.text1.value)
if !Found()
   messagebox('Запись не найдена')
endif 
_screen.ActiveForm.refresh()
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225758
sar99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А зачем эта строка?
GO RECNO() IN "test1"
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225759
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл поставить вконце
thisform.grid1.setfocus() &&Для получения фокуса
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225772
travek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to GoshaS
ваш вариант
_screen.ActiveForm.refresh()
не подходит, т.к. активная форма не та, на которой находится грид.
А вот такой код:
SELECT "test1"
GO TOP IN test1
LOCATE FOR test1.name=ALLTRIM(thisform.text1.value)
frm1.Grid1.Refresh()
frm1.Grid1.setfocus()
thisform.Release
всё так же устанавливает курсор на первую запись в таблице
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225783
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю что нужно убрать эту строчку GO TOP IN test1.
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225795
travek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если убрать результат одинаковый
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225798
sar99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не знаю как установлены set для сравнения строк,поэтому
для строгости надо:
LOCATE FOR ALLTRIM(test1.name)==ALLTRIM(thisform.text1.value)
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225800
Гулин Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почитай статью В.Гринчишина про грид на Foxclub.ru
Там много очень полезных вещей хотя к 9 многие проблемы грида решены
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225816
Фотография бендер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а у тя таблица случаеи не под фильтром??? могет реляция какая, или set key ...
в общем точно погляди....... или запись там заблокированна нужная тебе....
--------------
И это пройдет...
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225817
travek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to sar99
Он правильно находит запись. Если указать messagebox(RECNO()) то там будет правильный номер!!!!! А вот Гриде он никак не перемещае курсор. В чём затуп - не пойму!!!
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225820
travek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to бендер
Практикиу меня не сильно много. Как посмотреть под фильтром ли таблицаа или нет???
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225830
sar99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
для тестирования поставь в кнопке после locate
brow (точно проверишь установку маркера курсора!)
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225839
travek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поставил browse
Как я и говорил.... Всё устанавливается!!!! Только не в Гриде!!!
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225857
sar99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все же внимательно посмотри на события grid
(в конструкторе формы кликни на grid - измененные события выделяются
жирным текстом)
может где-то стоит go top
...
Рейтинг: 0 / 0
Вопрос по Grid
    #33225860
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GO TOP IN test1
GO RECNO() IN "test1"
однозначно в данном коде не нужны
в Load Init Refresh формы и грида что нибудь прописано?
***
Да и в поиске лучше приводить к одному регистру, скажем:
LOCATE FOR lower(ALLTRIM(test1.name))==lower(ALLTRIM(thisform.text1.value))
если задать не "==" , а "=" тогда, в зависимости он настроек, скажем
аааа=а будет истинно, бывает даже удобней, не надо вбивать полностью фамилию.
***********
FILTER() && Возвращает выражение фильтра таблицы
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос по Grid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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