powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Grid шириною более 255 колонок
16 сообщений из 16, страница 1 из 1
Grid шириною более 255 колонок
    #32441448
WildBoar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возникла необходимость создания грида шириною более 255 колонок. Значительно более. Точное количество колонок неизвестно (определяется настройками пользователя), но может достигать нескольких тысяч. Как там юзеры в них будут разбираться - другой вопрос. Но они хотят "всё и сразу".

Попробовал замутить широкий грид из нескольких более мелких. Но жутко гиморно синхронизировать вертикальный скроллинг.

Сейчас хочу попробовать использовать FlexGrid. Но меня тут коллеги пугают, говорят, что всё тормозить будет. Всего в гриде будет несколько десятков тысяч записей. Полей - несколько тысяч. Два из них текстовые, остальные - INT. VFP7.

Есть у кого-нибудь опыт использования FlexGrid для подобных задач? Может можно использовать какой-нибудь другой контрол?
...
Рейтинг: 0 / 0
Grid шириною более 255 колонок
    #32441463
Фотография Hel!Riser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMHO. Попроси своих узверей почитать про Ехель. А на форме у ся сделай перегон в его формат. И пусть они уже в тыщах столбунцоф в Ехеле филтры накладывают, ч:Е-та делают и ваще.. ;) Задачка имо не фоксовая
...
Рейтинг: 0 / 0
Grid шириною более 255 колонок
    #32441519
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я юзаю для таких целей Office Web Components SpreadSheet ( маленький Excel)
...
Рейтинг: 0 / 0
Grid шириною более 255 колонок
    #32441659
В Excel то же самое ограничение - 255 колонок на листе. Если только автоматически добавлять новые листы...
...
Рейтинг: 0 / 0
Grid шириною более 255 колонок
    #32441797
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой ли?
...
Рейтинг: 0 / 0
Grid шириною более 255 колонок
    #32441837
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Технические характеристики Excel 2000

Размер листа: 65536 строк и 256 столбцов

Т.е. создание листов с более чем 255 столбцов - это задача для очень специальных продуктов (я так предполагаю - это какой-то текстовый редактор получится)
...
Рейтинг: 0 / 0
Grid шириною более 255 колонок
    #32441838
to CRIP:
Да вот, случайно сам наткнулся. Пришлось делать многолистовую книгу...
Может, я чего не знаю?
...
Рейтинг: 0 / 0
Grid шириною более 255 колонок
    #32441875
WildBoar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Excel не котируется. Это мы тут уже обсуждали. Из могучего грида ещё сохранение в SQL в фоновом режиме должно происходить. Да и логики там до чёрта на форме накручено. Статистика там всякая, ограничения и пр..
...
Рейтинг: 0 / 0
Grid шириною более 255 колонок
    #32441910
Боюсь, что проблема не разрешима. Во первых, источником данных для Grid является таблица или курсор, для которых существует ограничение на число полей. Во вторых, что самое главное, не нужно идти на поводу у юзверов. Даже если Вам и удастся придумать (не на фоксе) такого монстра, то работать с ним будет просто невозможно, и виноватым окажетесь снова Вы.
...
Рейтинг: 0 / 0
Grid шириною более 255 колонок
    #32441926
to WildBoar
Кстати, если Ваше приложение занимается статистикой, то порекомендуйте юзверям SPSS - специально для них штука придумана. Ребята грузили туда до двух гигов информации - и ничего, работает. Если интересует, могу поделиться процедуркой для формирования из фокса .sps - файла для неё.
...
Рейтинг: 0 / 0
Grid шириною более 255 колонок
    #32441940
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, чисто технически - это можно обойти через набор связанных таблиц (SET RELATION) Тогда количество полей может быть до 255*N, где N - это как раз количество таблиц.

Проблема только в том, что, если не ошибаюсь, есть ограничение даже не на таблицу, а собственно на Grid.ColumnCount<=255. Это опять же обходим втыкая несколько Grid.

Но по большому счету, согласен с Вячеславом. Не стоящее это занятие. Надо менять постановку задачи, чтобы таких требований не возникало.
...
Рейтинг: 0 / 0
Grid шириною более 255 колонок
    #32441979
WildBoar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во первых, источником данных для Grid является таблица или курсор, для которых существует ограничение на число полей.

Легко обходится с помощью нескольких курсоров. Я так уже делал. Всё надёжно работает.

Проблема только в том, что, если не ошибаюсь, есть ограничение даже не на таблицу, а собственно на Grid.ColumnCount<=255. Это опять же обходим втыкая несколько Grid.

Несколько гридов воткнуть проблематично, т. к. возникают жуткие траблы с синхронизацией вертикального скроллинга. Но в самом крайнем случае попробую и это.

Надо менять постановку задачи, чтобы таких требований не возникало.

Не получается. Блин. Ну вот поставило высшее рукодство партии такую задачу. Блин два раза.

А вообще-то я просил кого-нибудь поделится опытом борьбы с FlexGrid. Т. к. сам её ни разу не юзал. Какие засады могут всплыть на этом пути?

Или, быть может, кто предложит какой альтернативный контрол?
...
Рейтинг: 0 / 0
Grid шириною более 255 колонок
    #32442403
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант:

-) Подавляешь (прячешь) горизонтальный ScrollBar в Grid.
-) Вместо него вешаешь свой на базе ActiveX (Flat ScroolBar)
-) Когда пользователь "докручивает" горизонтальный ScroolBar до некоторой дискретной величины производишь замену источников данных для столбцов.

Ну, а с FlexGrid главная проблема будет в скорости отображения. Ему же предварительно надо вручную заполнить каждую ячейку. Да и я не уверен, что даже у него нет ограничений на количество столбцов
...
Рейтинг: 0 / 0
Grid шириною более 255 колонок
    #32443059
XAndy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С точки зрения использования задача бредовая, но нет ничего невозможного. Когда-то приходилось писать собственный browse c горизонтальной прокруткой (как возможное направление для размышлений).

Исходим из того, что одновременно на экране может отображаться конечное количество колонок и конечное количество строк. Т.е. достаточно знать начальную и количество отображаемых колонок и строк (для простоты можно ширины всех колонок принять одинаковыми) и динамически формировать курсор для грида. Главное, не зацикливаться на различии понятий строк и колонок - теоретически различий никаких нет. Предусмотреть горизонтальное и вертикальное перемещение в начало/конец, на одну строку/колонку, на одну страницу по горизонтали и вертикали. Понятно, что должна быть таблица со структурой данных, некоторую часть которых в текущий момент отображает грид. Не знаю, насколько сложная расчетная часть, но скорее всего данные уже есть и их нужно только отображать. Уверен, что задача не только разрешима но и даже интересная.

Можно (и лучше) рассмотреть компромиссные варианты, если есть какая-то классификация/разбивка колонок (например по номерам или времени или еще как-нибудь). Тогда можно обойтись обычным гридом, над которым указывается диапазон отображаемых колонок, в котором учесть ограничение на 255 колонок. При изменении диапазона переформировывается грид.
...
Рейтинг: 0 / 0
Grid шириною более 255 колонок
    #32443079
WildBoar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да с горизонтальным скроллингом проблем у меня и не было. Тут всё достаточно просто. Проблемы вызывает ВЕРТИКАЛЬНЫЙ скроллинг. Потому что я не могу узнать абсолютный номер самой вехней из видимых в данный момент строк грида.

А то ещё есть какой-то контрол DataGrid. Это что за зверь?

Use the DataGrid control's Columns collection's Count property and the Recordset object's RecordCount property to determine the number of columns and rows in the control. A DataGrid control can have as many rows as the system resources can support and up to 32767 columns.

Кто-нибудь боролся с ним?
...
Рейтинг: 0 / 0
Grid шириною более 255 колонок
    #32444346
Фотография MaestroEv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для таких вещей изобрели LCD мониторы, которые умеют работать "на боку"
То есть под углом 90 градусов...

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


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