Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Grid шириною более 255 колонок
|
|||
|---|---|---|---|
|
#18+
Возникла необходимость создания грида шириною более 255 колонок. Значительно более. Точное количество колонок неизвестно (определяется настройками пользователя), но может достигать нескольких тысяч. Как там юзеры в них будут разбираться - другой вопрос. Но они хотят "всё и сразу". Попробовал замутить широкий грид из нескольких более мелких. Но жутко гиморно синхронизировать вертикальный скроллинг. Сейчас хочу попробовать использовать FlexGrid. Но меня тут коллеги пугают, говорят, что всё тормозить будет. Всего в гриде будет несколько десятков тысяч записей. Полей - несколько тысяч. Два из них текстовые, остальные - INT. VFP7. Есть у кого-нибудь опыт использования FlexGrid для подобных задач? Может можно использовать какой-нибудь другой контрол? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2004, 10:47 |
|
||
|
Grid шириною более 255 колонок
|
|||
|---|---|---|---|
|
#18+
IMHO. Попроси своих узверей почитать про Ехель. А на форме у ся сделай перегон в его формат. И пусть они уже в тыщах столбунцоф в Ехеле филтры накладывают, ч:Е-та делают и ваще.. ;) Задачка имо не фоксовая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2004, 10:58 |
|
||
|
Grid шириною более 255 колонок
|
|||
|---|---|---|---|
|
#18+
Я юзаю для таких целей Office Web Components SpreadSheet ( маленький Excel) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2004, 11:20 |
|
||
|
Grid шириною более 255 колонок
|
|||
|---|---|---|---|
|
#18+
В Excel то же самое ограничение - 255 колонок на листе. Если только автоматически добавлять новые листы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2004, 12:18 |
|
||
|
Grid шириною более 255 колонок
|
|||
|---|---|---|---|
|
#18+
Ой ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2004, 13:18 |
|
||
|
Grid шириною более 255 колонок
|
|||
|---|---|---|---|
|
#18+
Технические характеристики Excel 2000 Размер листа: 65536 строк и 256 столбцов Т.е. создание листов с более чем 255 столбцов - это задача для очень специальных продуктов (я так предполагаю - это какой-то текстовый редактор получится) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2004, 13:37 |
|
||
|
Grid шириною более 255 колонок
|
|||
|---|---|---|---|
|
#18+
to CRIP: Да вот, случайно сам наткнулся. Пришлось делать многолистовую книгу... Может, я чего не знаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2004, 13:38 |
|
||
|
Grid шириною более 255 колонок
|
|||
|---|---|---|---|
|
#18+
Excel не котируется. Это мы тут уже обсуждали. Из могучего грида ещё сохранение в SQL в фоновом режиме должно происходить. Да и логики там до чёрта на форме накручено. Статистика там всякая, ограничения и пр.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2004, 13:54 |
|
||
|
Grid шириною более 255 колонок
|
|||
|---|---|---|---|
|
#18+
Боюсь, что проблема не разрешима. Во первых, источником данных для Grid является таблица или курсор, для которых существует ограничение на число полей. Во вторых, что самое главное, не нужно идти на поводу у юзверов. Даже если Вам и удастся придумать (не на фоксе) такого монстра, то работать с ним будет просто невозможно, и виноватым окажетесь снова Вы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2004, 14:11 |
|
||
|
Grid шириною более 255 колонок
|
|||
|---|---|---|---|
|
#18+
to WildBoar Кстати, если Ваше приложение занимается статистикой, то порекомендуйте юзверям SPSS - специально для них штука придумана. Ребята грузили туда до двух гигов информации - и ничего, работает. Если интересует, могу поделиться процедуркой для формирования из фокса .sps - файла для неё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2004, 14:20 |
|
||
|
Grid шириною более 255 колонок
|
|||
|---|---|---|---|
|
#18+
Ну, чисто технически - это можно обойти через набор связанных таблиц (SET RELATION) Тогда количество полей может быть до 255*N, где N - это как раз количество таблиц. Проблема только в том, что, если не ошибаюсь, есть ограничение даже не на таблицу, а собственно на Grid.ColumnCount<=255. Это опять же обходим втыкая несколько Grid. Но по большому счету, согласен с Вячеславом. Не стоящее это занятие. Надо менять постановку задачи, чтобы таких требований не возникало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2004, 14:28 |
|
||
|
Grid шириною более 255 колонок
|
|||
|---|---|---|---|
|
#18+
Во первых, источником данных для Grid является таблица или курсор, для которых существует ограничение на число полей. Легко обходится с помощью нескольких курсоров. Я так уже делал. Всё надёжно работает. Проблема только в том, что, если не ошибаюсь, есть ограничение даже не на таблицу, а собственно на Grid.ColumnCount<=255. Это опять же обходим втыкая несколько Grid. Несколько гридов воткнуть проблематично, т. к. возникают жуткие траблы с синхронизацией вертикального скроллинга. Но в самом крайнем случае попробую и это. Надо менять постановку задачи, чтобы таких требований не возникало. Не получается. Блин. Ну вот поставило высшее рукодство партии такую задачу. Блин два раза. А вообще-то я просил кого-нибудь поделится опытом борьбы с FlexGrid. Т. к. сам её ни разу не юзал. Какие засады могут всплыть на этом пути? Или, быть может, кто предложит какой альтернативный контрол? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2004, 14:52 |
|
||
|
Grid шириною более 255 колонок
|
|||
|---|---|---|---|
|
#18+
Как вариант: -) Подавляешь (прячешь) горизонтальный ScrollBar в Grid. -) Вместо него вешаешь свой на базе ActiveX (Flat ScroolBar) -) Когда пользователь "докручивает" горизонтальный ScroolBar до некоторой дискретной величины производишь замену источников данных для столбцов. Ну, а с FlexGrid главная проблема будет в скорости отображения. Ему же предварительно надо вручную заполнить каждую ячейку. Да и я не уверен, что даже у него нет ограничений на количество столбцов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2004, 17:54 |
|
||
|
Grid шириною более 255 колонок
|
|||
|---|---|---|---|
|
#18+
С точки зрения использования задача бредовая, но нет ничего невозможного. Когда-то приходилось писать собственный browse c горизонтальной прокруткой (как возможное направление для размышлений). Исходим из того, что одновременно на экране может отображаться конечное количество колонок и конечное количество строк. Т.е. достаточно знать начальную и количество отображаемых колонок и строк (для простоты можно ширины всех колонок принять одинаковыми) и динамически формировать курсор для грида. Главное, не зацикливаться на различии понятий строк и колонок - теоретически различий никаких нет. Предусмотреть горизонтальное и вертикальное перемещение в начало/конец, на одну строку/колонку, на одну страницу по горизонтали и вертикали. Понятно, что должна быть таблица со структурой данных, некоторую часть которых в текущий момент отображает грид. Не знаю, насколько сложная расчетная часть, но скорее всего данные уже есть и их нужно только отображать. Уверен, что задача не только разрешима но и даже интересная. Можно (и лучше) рассмотреть компромиссные варианты, если есть какая-то классификация/разбивка колонок (например по номерам или времени или еще как-нибудь). Тогда можно обойтись обычным гридом, над которым указывается диапазон отображаемых колонок, в котором учесть ограничение на 255 колонок. При изменении диапазона переформировывается грид. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2004, 11:16 |
|
||
|
Grid шириною более 255 колонок
|
|||
|---|---|---|---|
|
#18+
Да с горизонтальным скроллингом проблем у меня и не было. Тут всё достаточно просто. Проблемы вызывает ВЕРТИКАЛЬНЫЙ скроллинг. Потому что я не могу узнать абсолютный номер самой вехней из видимых в данный момент строк грида. А то ещё есть какой-то контрол 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. Кто-нибудь боролся с ним? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2004, 11:25 |
|
||
|
Grid шириною более 255 колонок
|
|||
|---|---|---|---|
|
#18+
Для таких вещей изобрели LCD мониторы, которые умеют работать "на боку" То есть под углом 90 градусов... То есть задача остается прежней...- это записи - только вправо....Форму для просмотра этого чуда нужно будет сделать и легим поворотом экрана - все ОК! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2004, 18:45 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32441940&tid=1596995]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
84ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
| others: | 270ms |
| total: | 476ms |

| 0 / 0 |
