Страница 1 из 1
ListBox как таблица
Добавлено: 28 Декабрь 2005, 12:33
AVA
Нужно сделать на Кларионе таблицу (аналогичную по базовым возможностям 1С или Excel) для хранения в ее ячейках форматированного текста. Думаю, что это должен быть ListBox с PropStyle. Вопросы такие.
1. Как удобнее изменять текст одной ячейки, ее цвет, шрифт и т. д.?
2. Как создать бесконечную по ширине таблицу (динамически создавать столбцы)?
3. Можно ли выделить границы ячейки (например правую)?
4. Можно ли объединять ячейки как в 1С?
5. В каком формате хранить таблицу?
6. Есть ли готовые решения на эту тему?
Добавлено: 28 Декабрь 2005, 13:10
Дед Пахом
Что-то мне подсказывает, что в Clarion эта задача практически не решаема.
Я бы предложил воспользоваться Microsoft Office Web Component, там есть контрол Spreadsheet, то что надо (положил на окно и всё). OWC входит в поставку Windows.
Добавлено: 28 Декабрь 2005, 13:18
Admin
Это нереально сделать. Тормоза будут безбожные.
Я про применение листбокса для этих целей.
Пробовал в свое время... ерунда получилась

Добавлено: 29 Декабрь 2005, 10:39
Admin
AVA - вот посмотри вот это в виде OLE -> 'OWC11.Spreadsheet.11'
Добавлено: 29 Декабрь 2005, 13:12
AVA
Можно подробнее - почему задача практически не решаема, почему тормоза будут? Можно ведь ограничиться 100 столбцами? Хорошо бы получить ответы по всем 6-ти пунктам.
Re: ListBox как таблица
Добавлено: 29 Декабрь 2005, 13:30
Admin
AVA писал(а):1. Как удобнее изменять текст одной ячейки, ее цвет, шрифт и т. д.?
Стилями но их может быть не так уж и много...
+ Это все бальшое гемор. Ты попробуй хотя бы сто стилей описать и с ними поработать
AVA писал(а):2. Как создать бесконечную по ширине таблицу (динамически создавать столбцы)?
Библиотека DynaLib
http://dynalib.narod.ru
AVA писал(а):3. Можно ли выделить границы ячейки (например правую)?
Средствами Кларион - нет.
AVA писал(а):4. Можно ли объединять ячейки как в 1С?
Нет
AVA писал(а):5. В каком формате хранить таблицу?
В каком хочешь.
AVA писал(а):6. Есть ли готовые решения на эту тему?
Нет
Используй Windows API, пиши контрол такой ... но это работа для "монстра от программирования"
Пользуйся чужими OCX или еще чем...
Посмотри List&Label для примера => Цена конская! ...
Добавлено: 29 Декабрь 2005, 13:46
softcreator
AVA писал(а):
2. Как создать бесконечную по ширине таблицу (динамически создавать столбцы)?
Библиотека DynaLib
http://dynalib.narod.ru
Не совсем так - для динамического создания колонок можно использовать механизм виртуальных ListBox-ов - чти TFM на тему PROP:VLBproc - после понимания того, что и как делается, поведение динамического списка менятся очень просто и гибко. Используется, например, для показа линейного списка - очереди из одного поля.
Добавлено: 29 Декабрь 2005, 13:48
ru_alex
ИМХО:
Если ограничить таблицу, тормозов не будет. У меня таблица как-раз максимум 100 столбцов и очередь из 200 полей (значения и стили). Нормально работает. К тому же, если и количество строк ограничишь, еще лучше будет.
По пунктам
1. Как удобнее изменять текст одной ячейки, ее цвет, шрифт и т. д.?
Здесь проблем нет.
Пример работы с выделенной ячейкой:
get(myqueue,choice(?list))
MyAny &= what(myqueue,?list{prop:column}*2-1) !значение
MyAny1 &= what(myqueue,?list{prop:column}*2) !стиль.
И делай с ними что хочешь.
2. Как создать бесконечную по ширине таблицу (динамически создавать столбцы)?
Формируешь prop:format и следишь чтобы количество колонок не превышало количество полей в очереди, иначе при обращении упадет.
3. Можно ли выделить границы ячейки (например правую)?
Если имеется в виду нарисовать границы некой ячейки в виде линии, то по-моему нельзя, можно только у всего столбца и у всех строк сразу.
4. Можно ли объединять ячейки как в 1С?
По-моему нет. Если это необходимо, тогда лист не подойдет, а рисовать каждую ячейку отдельным контролом, точно будут тормоза.
5. В каком формате хранить таблицу?
Если имеется в виду сохранение на диск, тогда наверное файл из трех полей:
№ столбца
№ строки
значение
Добавлено: 29 Декабрь 2005, 14:02
Admin
IMHO все это несерьезно. Баловство из листа делать таблицу!
Лучше найти другой подход чем так вот извращаться...
Добавлено: 29 Декабрь 2005, 14:13
ru_alex
Согласен, но очень уж просили по пунктам...
С наступающим всех!
