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

SELECT "test1"
GO TOP IN test1
LOCATE FOR test1.name=ALLTRIM(thisform.text1.value)
frm1.Grid1.Refresh()
...
Рейтинг: 0 / 0
19.08.2005, 15:38:29
    #33225650
sar99
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Grid
Добрый день!
добавь еще в конец кода:
frm1.grid1.setfocus()
...
Рейтинг: 0 / 0
19.08.2005, 15:44:38
    #33225664
travek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Grid
Добавил! Теперь устанавливает курсор на первую запись, но никак не на нужную!!!
...
Рейтинг: 0 / 0
19.08.2005, 15:53:04
    #33225684
sar99
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Grid
> курсор устанавливается на 1 - ю запись
значит при возвращении в frm1 где то есть go top
(может в activate формы ?)
...
Рейтинг: 0 / 0
19.08.2005, 16:01:11
    #33225710
travek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Grid
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
19.08.2005, 16:11:03
    #33225742
GoshaS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Grid
что то наподобие этого
Код: 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
19.08.2005, 16:17:06
    #33225758
sar99
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Grid
А зачем эта строка?
GO RECNO() IN "test1"
...
Рейтинг: 0 / 0
19.08.2005, 16:17:19
    #33225759
GoshaS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Grid
забыл поставить вконце
thisform.grid1.setfocus() &&Для получения фокуса
...
Рейтинг: 0 / 0
19.08.2005, 16:22:02
    #33225772
travek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Grid
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
19.08.2005, 16:26:55
    #33225783
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Grid
Я думаю что нужно убрать эту строчку GO TOP IN test1.
...
Рейтинг: 0 / 0
19.08.2005, 16:31:08
    #33225795
travek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Grid
Если убрать результат одинаковый
...
Рейтинг: 0 / 0
19.08.2005, 16:31:51
    #33225798
sar99
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Grid
не знаю как установлены set для сравнения строк,поэтому
для строгости надо:
LOCATE FOR ALLTRIM(test1.name)==ALLTRIM(thisform.text1.value)
...
Рейтинг: 0 / 0
19.08.2005, 16:32:06
    #33225800
Гулин Федор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Grid
почитай статью В.Гринчишина про грид на Foxclub.ru
Там много очень полезных вещей хотя к 9 многие проблемы грида решены
...
Рейтинг: 0 / 0
19.08.2005, 16:36:35
    #33225816
бендер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Grid
а у тя таблица случаеи не под фильтром??? могет реляция какая, или set key ...
в общем точно погляди....... или запись там заблокированна нужная тебе....
--------------
И это пройдет...
...
Рейтинг: 0 / 0
19.08.2005, 16:37:01
    #33225817
travek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Grid
to sar99
Он правильно находит запись. Если указать messagebox(RECNO()) то там будет правильный номер!!!!! А вот Гриде он никак не перемещае курсор. В чём затуп - не пойму!!!
...
Рейтинг: 0 / 0
19.08.2005, 16:39:38
    #33225820
travek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Grid
to бендер
Практикиу меня не сильно много. Как посмотреть под фильтром ли таблицаа или нет???
...
Рейтинг: 0 / 0
19.08.2005, 16:42:48
    #33225830
sar99
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Grid
для тестирования поставь в кнопке после locate
brow (точно проверишь установку маркера курсора!)
...
Рейтинг: 0 / 0
19.08.2005, 16:45:51
    #33225839
travek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Grid
Поставил browse
Как я и говорил.... Всё устанавливается!!!! Только не в Гриде!!!
...
Рейтинг: 0 / 0
19.08.2005, 16:51:55
    #33225857
sar99
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Grid
все же внимательно посмотри на события grid
(в конструкторе формы кликни на grid - измененные события выделяются
жирным текстом)
может где-то стоит go top
...
Рейтинг: 0 / 0
19.08.2005, 16:53:11
    #33225860
GoshaS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Grid
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
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос по Grid / 25 сообщений из 32, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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