powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Index, sort, order
16 сообщений из 16, страница 1 из 1
Index, sort, order
    #33475615
Krushinskaya Olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотела узнать, правильно ли я понимаю.
Я создаю таблицу командой select.........into table Mytable.dbf
Теперь кидаю ее в грид, и хочу сделать сортировку.
Для этого создаю индексы :
INDEX ON KOd_reg TO kod_reg
INDEX ON data_vh TO data_vh

а в гриде по нажатию на заголовок вставляю код:

LOCAL lnRecNo
lnRecNo = IIF(!EOF(), RECNO(), 0)
set order to kod_reg in Mytable
WITH This.Parent.Parent
.ActivateCell(1, .ActiveColumn)
IF lnRecNo # 0
GO (lnRecNo)
ELSE
GO top
ENDIF
.refresh()
ENDWITH

или можно как то сделать все проще? Честно говоря с этими индексами запуталась.
С уважением, Ольга.
...
Рейтинг: 0 / 0
Index, sort, order
    #33475648
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы сделал так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
IF ORDER('Mytable') <> 'KOD_REG'
  LOCAL lnRecNo
  lnRecNo = IIF(!EOF(), RECNO(),  0 )
  set order to kod_reg in Mytable
  WITH This.Parent.Parent
    .ActivateCell( 1 , .ActiveColumn)
    IF lnRecNo #  0 
      GO (lnRecNo)
    ELSE
      GO top 
    ENDIF
  ENDWITH
  THISFORM.MyGrid.Refresh()
ENDIF
-----------------------
С уважением Владимир
...
Рейтинг: 0 / 0
Index, sort, order
    #33475708
Krushinskaya Olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
с этими индексами создаются индексные файлы. А потом они не будут никак влиять при составлении запросов к моей таблице Mytable?
...
Рейтинг: 0 / 0
Index, sort, order
    #33475748
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Krushinskaya Olgaс этими индексами создаются индексные файлы. А потом они не будут никак влиять при составлении запросов к моей таблице Mytable?Если в запросе имеется ORDER BY ..., и имеется такой же индекс по таким же полям таблицы, то скорость получения запроса только увеличится.
...
Рейтинг: 0 / 0
Index, sort, order
    #33475798
Krushinskaya Olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А то что я после создания таблицы создаю индексы
INDEX ON KOd_reg TO kod_reg
INDEX ON data_vh TO data_vh
Это правильно? Их потом после завершения программы не надо удалять?
...
Рейтинг: 0 / 0
Index, sort, order
    #33475916
_Кэт_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Krushinskaya Olga
а в гриде по нажатию на заголовок вставляю код:
или можно как то сделать все проще? Честно говоря с этими индексами запуталась.
С уважением, Ольга.

Не изобретайте велисепидед,
Я как понимаю Вы пытаетесь
организовать сортировку столбцов
при клике на хедер
Посмотрите это решение
...
Рейтинг: 0 / 0
Index, sort, order
    #33475923
_Кэт_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот это решение
http://www.foxclub.ru/sol/index.php?act=view&id=332

теги чета не вставляются...
...
Рейтинг: 0 / 0
Index, sort, order
    #33476628
Krushinskaya Olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Кэт_Вот это решение
http://www.foxclub.ru/sol/index.php?act=view&id=332

теги чета не вставляются...
Благодарю, удачно применила в своей программе :-)
...
Рейтинг: 0 / 0
Index, sort, order
    #33476886
Snow_2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
С интересом прочитала всю тему.
Объясните, плиз, а почему нельзя просто по нажатию на заголовок :

set order to kod_reg
go top
thisform.grid1.refresh()


У меня в нескольких местах так сделано. Вроде нормально работает......
...
Рейтинг: 0 / 0
Index, sort, order
    #33476971
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Snow_2006Объясните, плиз, а почему нельзя просто по нажатию на заголовок :
set order to kod_reg
go top
thisform.grid1.refresh()
У меня в нескольких местах так сделано. Вроде нормально работает......
А теперь усложни задачу:
1. стоишь на записи (пусть третья)
2. нажимаю на заголовок и хочу чтобы после сортировки по данному столбцу оставаться на тойже записи.
А еще лучше если стоишь (см. п.1) на записи когда Grid пролистал несколько страниц и остаться на той же записи после сортировки и чтобы Grid правильно отображал информацию.
...
Рейтинг: 0 / 0
Index, sort, order
    #33477024
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Krushinskaya OlgaА то что я после создания таблицы создаю индексы
INDEX ON KOd_reg TO kod_reg
INDEX ON data_vh TO data_vh
Это правильно? Их потом после завершения программы не надо удалять?Т.к. ты создаешь DBF-файл, то он организуется на диске в текущем каталоге или в каком ты укажешь, но и созданный индекс CDX тоже создастся на диске. Т.е. после работы с ними их надо удалять программно:
Код: plaintext
1.
2.
USE IN Mytable
DELETE FILE Mytable.dbf
DELETE FILE Mytable.cdx
Я лично работаю с LV (Local View) и строю для них индексы. После закрытия LV индекс уничтожится (т.к. он временный). Т.е. программно его не надо удалять.
...
Рейтинг: 0 / 0
Index, sort, order
    #33477869
Krushinskaya Olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понятно. :-)
...
Рейтинг: 0 / 0
Index, sort, order
    #33478199
Snow_2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир СА
А теперь усложни задачу:
1. стоишь на записи (пусть третья)
2. нажимаю на заголовок и хочу чтобы после сортировки по данному столбцу оставаться на тойже записи.
А еще лучше если стоишь (см. п.1) на записи когда Grid пролистал несколько страниц и остаться на той же записи после сортировки и чтобы Grid правильно отображал информацию.

Продолжим с таблицей стран :
kod - код страны
naim - наименование

Индексы :
по коду - i_kod
по наименованию - i_na

Например, при первом входе видим ГРИД, где страны рассортированы по коду (установлен индекс i_kod).
выбрали нужный код, нажимаем на заголовок "Наименование" :

tek_na=naim
set order to i_na
go top
loca for naim=tek_na
thisform.grid1.refresh()

Не сочтите за занудство, просто очень интересно.
...
Рейтинг: 0 / 0
Index, sort, order
    #33478459
Snow_2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дошло. Видимо, имеется в виду необходимость остаться не только на той же строке, но и на том же столбце (ячейке ГРИД).
А можно краткое описать, когда это нужно ?
У меня даже при ведении склада пользователи не выдвигают таких требований.
...
Рейтинг: 0 / 0
Index, sort, order
    #33478617
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Snow_2006...А можно краткое описать, когда это нужно ?
У меня даже при ведении склада пользователи не выдвигают таких требований.Наверное каждый программист смотрит на свое изобретение со своей точки зрения. Если пользователь доволен твоим изобретением, то все хорошо. Но ты сам являешься оценщиком своего продукта. И если ты увидел на стороннем продукте что-то лучшее, то естественно (у меня лично) просыпается протребность сделать что-то похожее или лучше.
...
Рейтинг: 0 / 0
Index, sort, order
    #33478801
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Snow_2006Дошло. Видимо, имеется в виду необходимость остаться не только на той же строке, но и на том же столбце (ячейке ГРИД).
А можно краткое описать, когда это нужно ?
У меня даже при ведении склада пользователи не выдвигают таких требований.
Если у вас в GRID столбцов много и для выбора столбца по которому надо делать сортировку вам пришлось прокручивать GRID до нужного столбца и выбранный в данный момент столбец стал невидим, то при выборе сортировки по выбранному столбцу и при обновлении GRID ваш "сортированный" столбец станет опять за пределами просмотра GRID в форме.
Что-бы этого избежать, я в методе GRID, который отвечает за сортировку по выбранному столбцу выдаю команду типа m.loColumn.SetFocus()
С уважением, Алексей
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Index, sort, order
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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