|
|
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
Ребята, во-первых, спасибо за разбор полетов по кодировке Excel-DBF. Проблема новая: Нужно осуществить обычный поиск в Гриде. Есть кнопочка с поиском типа Locate или Find. Физически после этого номер текуще записи меняется и информация находится. НО! В Гриде ничего не меняется и курсор не встает на эту запись. Пробовал даже менять для этой записи цветовую гамму в Гриде - получается, но запись все равно приходится находить, листая Грид, как дальтоник. Как бы это сделать - чтобы курсор вставал на свое место? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2005, 11:44 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
а если SetFocus() попробовать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2005, 12:01 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
Пробовал в INIT так: GO nrec thisform.Grid1.SetFocus не сработало. А с SetFocus() не пойму, как использовать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2005, 12:30 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
Почему же в Init ? Это нужно в метод Click ставить твоей кнопки, по которой осуществляется поиск. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2005, 12:35 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
Спасибо! Попробую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2005, 12:44 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
Все равно не выходит. Может, по тексту проще ошибку найти: ------------------------------------------------------------------------ В INITe: ogrd = THISFORM.grid1 ogrd.SETALL("dynamicforecolor", "iif(substr(kart.oe,1,2)='OE', rgb(0,102,204), rgb(0,0,0))", "Column") ogrd.SETALL("dynamicbackcolor", "iif(substr(kart.oe,1,2)='OE', rgb(206,234,247), rgb(255,255,255))", "Column") && ogrd.SETALL("dynamicFontBold", "iif(SUBSTR(kart.oe,1,2)='OE' .and. stck>0, .t., .f.)", "Column") ogrd.SETALL("dynamicforecolor", "iif(RECNO()=Nrec, rgb(0,0,255), rgb(0,0,0))", "Column") ogrd.SETALL("dynamicFontBold", "iif(RECNO()=Nrec, .t., .f.)", "Column") ogrd.SETALL("dynamicFontItalic", "iif(RECNO()=Nrec, .t., .f.)", "Column") ogrd.SETALL("dynamicFontStrikethru", "iif(stck<=0, .t., .f.)", "Column") ThisForm.nRec = Recno() thisform.Grid1.SetFocus this.setfocus THISFORM.grid1.REFRESH() ogrd.REFRESH Свойство nRec заведено. В AfterRowColChange – LPARAMETERS nColIndex Thisform.nRec = Recno() This.Refresh() При вставлении в Клик кнопки текста .... GO nrec thisform.Grid1.SetFocus выдается сообщение: Неизвестный элемент грид А вообще, мне кажется, что я уже столько лишнего наворотил, что комп скоро задымит… ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2005, 13:15 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
1. Я бы посоветовал свойство nRec перенести из THISFORM в сам GRID 2. Если уж свойство nRec в форме, то надо и ссылаться на него, как на свойство формы: в "SETALL("dynamicFontItalic", "iif(RECNO()=THISFORM.Nrec, .t., .f.)", "Column")" 3. В INIT GRID не имеет смысла вставлять SetFocus, так как INIT формы будет самый последний INIT и там имеет смысл вызывать SetFocus С уважением, Алексей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2005, 14:11 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
Спасибо, уже в пути! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2005, 14:39 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
Хоть убейте, не получается. Ну, да это, наверно, последствие Первомая.. Будем разбираться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2005, 17:49 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
Ты НАЙТИ что-нибудь хочешь или просто грид РАСКРАСИТЬ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2005, 19:30 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
Я хочу: 1-найти строку (это получается по Локейт) и 2- что бы в Гриде позиция курсора устанавливалась на этой строке (это не получается) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2005, 19:49 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
Ты, вообще-то в курсе, что существует такое понятие, как "рабочая область"? Можно сказать, что "рабочая область" - это хендл, дискриптор или идентификатор таблицы. При этом одна таблица может быть открыта в нескольких рабочих областях, но в одной рабочей области не может быть более одной таблицы. Так вот, если таблица открыта в нескольких рабочих областях, то перемещение указателя записи в одной из них никак не повлияет на перемещение указателя записи в другой. В качестве идентификатора рабочих областей может быть использована символьная строка, называемая "алиас" ГДЕ ты осуществляешь поиск записи (LOCATE, SEEK, GO)? В какой рабочей области? ЧТО является источником данных GRID? Какая рабочая область? Если все это происходит в одной рабочей области и в одной DataSession, то после перехода на нужную запись достаточно просто передать фокус в Grid. Все! Если это не работает, то либо ты ПОСЛЕ поиска делаешь переход на другую запись, либо речь вообще идет о разных таблицах (рабочих областях) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2005, 22:04 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
Так вот, если таблица открыта в нескольких рабочих областях, то перемещение указателя записи в одной из них никак не повлияет на перемещение указателя записи в другой. --------------------- Таблица открыта в одной области. ГДЕ ты осуществляешь поиск записи (LOCATE, SEEK, GO)? В какой рабочей области? ---------------------------------- В этой же области ЧТО является источником данных GRID? Какая рабочая область? ----------------------- Эта же область. Если все это происходит в одной рабочей области и в одной DataSession, то после перехода на нужную запись достаточно просто передать фокус в Grid. Все! Если это не работает, то либо ты ПОСЛЕ поиска делаешь переход на другую запись, либо речь вообще идет о разных таблицах (рабочих областях) ---------------------------- Нет, перехода нет. Таблица одна. Причем, нужная запись выделяется жирным курсивом, но курсор стоит на старом месте. При этом, если я щелкну мышкой в любом месте грида, сначала на долю секунды мелькнет курсор на выделеннй строке, а потом установится в месте щелчка. Такое ощущение, что не хватает какой-то ерунды. И, кстати, чтобы не сглупить еще раз - передача фокуса в грид - это четко - как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2005, 09:21 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
IdSyz Такое ощущение, что не хватает какой-то ерунды. И, кстати, чтобы не сглупить еще раз - передача фокуса в грид - это четко - как? Я делаю так: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2005, 09:42 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
Еще возможен вариант установки на определенный ряд и в определенную ячейку типа: Код: plaintext где Код: plaintext а 6, например, номер поля в Grid... Доступно с версии VFP 8.00 и выше... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2005, 18:52 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
Все происходит в одной области, с одной таблицей! Но что интересно - нужная найденная позиция становиться жирным шрифтом и если я прокручиваю колесо мышки немного, курсор встает на нужное место, подсвечивая ее и делая активной. Так что в принципе проблема решилась, но как-то.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2005, 09:25 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
А мой вариант не пробовали? Вполне рабочий - я его использую для поиска записи при сканировании деталей в заказе... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2005, 10:02 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
Sergey ChА мой вариант не пробовали? Вполне рабочий - я его использую для поиска записи при сканировании деталей в заказе... А что для VFP 6 посоветуешь? Если это с 8 версии... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2005, 11:01 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2005, 14:25 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
Akel А что для VFP 6 посоветуешь? Если это с 8 версии... Эволюционный переход на 8 версию А еще лучше на 9, тем более что с 6 версии надо не много кода переписывать... Good luck! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2005, 15:23 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
Hi Sergey! > Эволюционный переход на 8 версию А еще лучше на 9, тем более что с 6 версии надо не много кода переписывать... Переписывать немного - выкидывать много, а это всегда страшно :) Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 02:44 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
Igor KorolyovПереписывать немного - выкидывать много, а это всегда страшно :) Я уже пообжигался с этим делом много - каждая новая версия FoxPro содержит свою изюминку, которая становится очень быстро незаменимой... Но что-то я пока ни как не могу создать файл инсталляции для runtime library для всех пользователей (почему-то для каждого пользователя надо запускать отдельно и если делать на всех то нужны права админа на локальный компьютер)... как создам - так сразу все перепишу с 8 на 9 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 10:39 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
Если версия 8 и выше, то надо еще свойство HighLightStyle = 0, иначе твои Dynamic... свойства для выделенной строки неправильно работать будут. С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 11:19 |
|
||
|
Фиксация курсора на строке в GRIDe
|
|||
|---|---|---|---|
|
#18+
Sergey Ch Igor KorolyovПереписывать немного - выкидывать много, а это всегда страшно :) Я уже пообжигался с этим делом много - каждая новая версия FoxPro содержит свою изюминку, которая становится очень быстро незаменимой... Но что-то я пока ни как не могу создать файл инсталляции для runtime library для всех пользователей (почему-то для каждого пользователя надо запускать отдельно и если делать на всех то нужны права админа на локальный компьютер)... как создам - так сразу все перепишу с 8 на 9 Если используешь InstallShield (у меня InstallShield Express 4.0), то там есть опция, которая позволяет дать пользователю выбрать вариант установки: инсталлируемая программа будет доступна для всех пользователей или только для того, кто инсталлирует. Следовательно, инсталлировать должен администратор, а пользоваться могут все. С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 11:26 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33047393&tid=1594295]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
176ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 211ms |
| total: | 496ms |

| 0 / 0 |
