Переключение на Главную Страницу Страницы: 1 ... 29 30 [31] 32 33 ... 36 ОтправитьПечать
Очень популярная тема (более 25 ответов) TableDoc (число прочтений - 259209 )
sava
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 56
Зарегистрирован: 18. Февраля 2010
Пол: Мужской
Re: TableDoc
Ответ #450 - 07. Июня 2011 :: 04:46
Печать  
Двумя руками за - необходимость жестокая !!!!
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #451 - 28. Июня 2011 :: 17:39
Печать  
Про доступ к именованным областям.
К сожалению у меня не получилось вскрыть ларец полностью Печаль

Проблема из этой оперы: http://www.1cpp.ru/forum/YaBB.pl?num=1174798085
  

1&&2&&3
Наверх
 
IP записан
 
sava
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 56
Зарегистрирован: 18. Февраля 2010
Пол: Мужской
Re: TableDoc
Ответ #452 - 29. Июня 2011 :: 10:57
Печать  
Жаль. Придется решать криво Смущённый
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #453 - 11. Августа 2011 :: 06:27
Печать  
А нет ли случайно способа изменить цвет фона таблицы по умолчанию?
У меня тут кое-какие интерфейсные задачи реализована на базе tabledoс, но все оформление выстроено из расчета серого цвета фона (не люблю белый фон - слишком контрастно)
Соответственно, когда пользователи запускают базу со своими настройками, выглядит все не совсем красиво..
  

screen_1.jpg ( 294 KB | Загрузки )
screen_1.jpg
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #454 - 11. Августа 2011 :: 06:28
Печать  
вариант с белым фоном
  

screen_2.jpg ( 357 KB | Загрузки )
screen_2.jpg
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #455 - 11. Августа 2011 :: 06:31
Печать  
самое обидное, что не поставить фон для всех ячеек таблицы таким, какой у меня по умолчанию фоновый - его нет в палитре, а устанавливать для каждой ячейки/области из кода как то не комильфо..
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #456 - 11. Августа 2011 :: 07:02
Печать  
вариант, изначально сделать нужный фон в макете, не подходит?
  

1&&2&&3
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #457 - 11. Августа 2011 :: 07:06
Печать  
подходит, но вот незадача - используемого цвета нет в стандартной палитре..
  

screen_4.jpg ( 56 KB | Загрузки )
screen_4.jpg
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #458 - 11. Августа 2011 :: 07:34
Печать  
напрашивается метод ОбластьМакета()
я прав?
  

1&&2&&3
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #459 - 11. Августа 2011 :: 09:14
Печать  
да, наверное что то в этом духе..
тут главное что - что бы можно было переопределить дефолтные настройки не сбрасывая фон ячеек, установленный явно..
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: TableDoc
Ответ #460 - 12. Августа 2011 :: 02:50
Печать  
Ммм... а тупо в лоб?

Для й = 1 По Таб.ВысотаТаблицы() Цикл
Для ц = 1 По Таб.ШиринаТаблицы() Цикл
Обл = Таб.Область(й, ц);
Если Обл.ЦветФона = ДефолтныйЦвет Тогда
Обл.ЦветФона = НужныйЦвет;
КонецЕсли;
КонецЦикла;
КонецЦикла;

В принципе, не так долго будет отрабатывать даже на крупных таблицах (>1000 строк).
Ну и попытаться как-нить оптимизировать... скажем, если по цвету первой ячейки можно определить - нужно ли перекрашивать строку (или столбец), или нет.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #461 - 12. Августа 2011 :: 03:15
Печать  
наверно не очень будет красиво когда высота/ширина меньше видимого размера
  

1&&2&&3
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #462 - 12. Августа 2011 :: 05:18
Печать  
Satans Claws писал(а) 12. Августа 2011 :: 02:50:
Ммм... а тупо в лоб?

Это первое что пришло в голову Улыбка
Пробовать не стал:
1. как то не "красиво"
2. скорее всего будет видно мелькание (наверное решаемо)
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #463 - 12. Августа 2011 :: 05:49
Печать  
вариация на тему:
Код
Выбрать все
Процедура УстановитьЦветФонаТаблиц(Таб, ЦветФона)
	Менеджер=СоздатьОбъект("МенеджерТабличногоДокумента");
	Менеджер.УстановитьТаблицу(Таб);

	//Запомним боевую раскрасу
	Сп=СоздатьОбъект("СписокЗначений");
	//..раскраску колонок
	Для Кол=1 По Таб.ШиринаТаблицы() Цикл
		Обл=Менеджер.Область(,Кол,,Кол);
		Цвет=Обл.ЦветФонаРасш();
		Если Цвет>-1 Тогда
			Сп.ДобавитьЗначение(Обл,Цвет);
		КонецЕсли;
	КонецЦикла;
	//..раскраску строк
	Для Стр=1 По Таб.ВысотаТаблицы() Цикл
		Обл=Менеджер.Область(Стр,,Стр,);
		Цвет=Обл.ЦветФонаРасш();
		Если Цвет>-1 Тогда
			Сп.ДобавитьЗначение(Обл,Цвет);
		КонецЕсли;
	КонецЦикла;
	//..раскраску ячеек
	Для Стр=1 По Таб.ВысотаТаблицы() Цикл
		Для Кол=1 По Таб.ШиринаТаблицы() Цикл
			Обл=Менеджер.Область(Стр,Кол);
			Цвет=Обл.ЦветФонаРасш();
			Если Цвет>-1 Тогда
				Сп.ДобавитьЗначение(Обл,Цвет);
			КонецЕсли;
		КонецЦикла;
	КонецЦикла;

	//Установим цвет таблицы
	Обл=Менеджер.Область();
	Обл.ЦветФонаРасш(ЦветФона);

	//Восстановим раскраску
	Цвет="";
	Для Тек=1 По Сп.РазмерСписка() Цикл
		Обл=Сп.ПолучитьЗначение(Тек,Цвет);
		Обл.ЦветФонаРасш(Число(Цвет));
	КонецЦикла;

	Менеджер.Обновить();
КонецПроцедуры

Процедура Сформировать()
	УстановитьЦветФонаТаблиц(гТД.Таблица, 7006664);
КонецПроцедуры
 



красиво
не мелькает
на большой таблице тормозит
  

1&&2&&3
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: TableDoc
Ответ #464 - 12. Августа 2011 :: 06:19
Печать  
trad писал(а) 12. Августа 2011 :: 05:49:
вариация на тему:
...
красиво
не мелькает
на большой таблице тормозит

Спасибо, попробую - таблички не очень большие (где то 40*7), может и не будет особо тормозить Улыбка
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 29 30 [31] 32 33 ... 36
ОтправитьПечать