Переключение на Главную Страницу Страницы: 1 ... 16 17 [18] 19 20 ... 36 ОтправитьПечать
Очень популярная тема (более 25 ответов) TableDoc (число прочтений - 259184 )
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: TableDoc
Ответ #255 - 30. Мая 2008 :: 05:34
Печать  
trad писал(а) 30. Мая 2008 :: 05:20:
vandalsvq
событие ПриИзмененииВыделения не подойдет?


Вообще почему я это просил:
у меня при изменении выделения идет счетчик "Сумма = " аналогично как в Эксель когда ты суммы выделяешь... каждый раз при изменении получаю таблицу данных приходится делать еще и "Деформат"... т.е. очень трудозатратно. Где-то после 100-й выделенной (подряд) ячейки обработка уже заметно дольше идет (что в принципе ожидаемо при увеличении)... ну собстно после подсчета сумма подсвечивается в статусной строке. Я подумал и решил что при изменении можно и не подсчитывать а при окончании не так сильно заметно будет... т.е. если он (юзверь) выделяет область то не считается, отпускает мышку посчиталось, через ктрл добавил еще мышкой или клавой область, опять пересчиталось... вот  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #256 - 30. Мая 2008 :: 05:48
Печать  
а как ты решаешь задачу если выделенные области пересекаются?
  

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



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: TableDoc
Ответ #257 - 30. Мая 2008 :: 05:49
Печать  
ИМХО, здесь ошибка в дизайне, слишком много затрат на ненужный "Деформат", не проще ли хранить в памяти копию ТаблДока в виде Индексированной таблицы. При выделении - номера строк - в другую ИТЗ, затем строишь их пересечение и считаешь итог по нужной колонке. А с Деформатом - поймет ли он, что "3.156" - это 3156 формата "Ч10.0." или 3.156 формата "Ч5.3"?
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: TableDoc
Ответ #258 - 30. Мая 2008 :: 06:17
Печать  
alest писал(а) 29. Мая 2008 :: 17:45:
Парень решил поучить отцов Смех

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

(с)

Иногда и отцам можно поучиться умению смотреть на вроде бы знакомые вещи со стороны.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: TableDoc
Ответ #259 - 30. Мая 2008 :: 06:18
Печать  
trad писал(а) 29. Мая 2008 :: 11:59:
Цитата:
Дима, а событий ПриОкончанииВыделения можно? т.е. тогда когда изменение выделения закончились и мышка отжата...  Подмигивание

Это событие вырождается в событие OnLButtonUp, потому как любое отпускание левой кнопки есть окончание выделения. Не так ли?

А потом захочется трекинг... Т.е. уже... Улыбка

P.S.
А, прочитал документацию и заценил, что это все возможно.
Классно. Пойду налью еще кофийку...
  

De quelle planète es-tu?
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #260 - 30. Мая 2008 :: 06:32
Печать  
kms писал(а) 30. Мая 2008 :: 06:18:
А потом захочется трекинг...
что есть тут трекикинг?
если что, то все события мыши coming soon
  

1&&2&&3
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: TableDoc
Ответ #261 - 30. Мая 2008 :: 06:49
Печать  
trad писал(а) 30. Мая 2008 :: 06:32:
kms писал(а) 30. Мая 2008 :: 06:18:
А потом захочется трекинг...
что есть тут трекикинг?
если что, то все события мыши coming soon


Цитата:
у меня при изменении выделения идет счетчик "Сумма = " аналогично как в Эксель когда ты суммы выделяешь...

Допустим, чтобы вывести сумму в строке состояния.

Я правильно понимаю, что сейчас это можно сделать путем ПриИзмененииВыделения() / ПолучитьВыделенные()?
Или ПриАктивизиацииЯчейки() / ПолучитьВыделенные()?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #262 - 30. Мая 2008 :: 06:54
Печать  
kms писал(а) 30. Мая 2008 :: 06:49:
Допустим, чтобы вывести сумму в строке состояния.

Я правильно понимаю, что сейчас это можно сделать путем ПриИзмененииВыделения() / ПолучитьВыделенные()?
Или ПриАктивизиацииЯчейки() / ПолучитьВыделенные()?

теоретически да
  

1&&2&&3
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: TableDoc
Ответ #263 - 30. Мая 2008 :: 07:34
Печать  
Пока меня тут не было.... я все пропустил  Смех
В общем по очереди буду отвечать

Цитата:
а как ты решаешь задачу если выделенные области пересекаются?


Кстати о пересечении неодноячеейных областей я как то не подумал пока  Подмигивание спасибо за подсказку... счас буду думать, однако "дизайн страдает"  Смех
конечно мне бы хотелось через "ПолучитьВыделенные" иметь возможность достучаться только до уникальных выделенных ячеек... что можешь сказать? Ну скажем переметрезированный метод сделать и если  = 1 тогда таблица только из уникальных областей а не подряд выделенных.
Интересно твое мнение.

2 Salimbek
я об этом говорил ниже что Деформат не может быть 100% верным в принципе, поэтому сделал его с большим "но"  Круглые глаза .... а что касается индексированной таблицы, тут у меня мысль такая... вот открываю я в нем какой-нить отчет какого нить "программиста" и мне его загонять в ТЗ и пытаться деформатировать? дык я же тогда все от форматю... а мне бы наверное тогда и представление хранить надо. а если пользователь цифры поменят? отлавливать и пересобирать таблицу? а если 1000 строк? пользователь суммирует таким образом 5? .... не кажется мне это решением. Ну по крайней мере в той идеологии которую я преследую.

Цитата:
Иногда и отцам можно поучиться умению смотреть на вроде бы знакомые вещи со стороны.


Ну я то точно не отец  Смех я все еще подрастающее поколение  Класс

trad писал(а) 30. Мая 2008 :: 06:54:
kms писал(а) 30. Мая 2008 :: 06:49:
Допустим, чтобы вывести сумму в строке состояния.

Я правильно понимаю, что сейчас это можно сделать путем ПриИзмененииВыделения() / ПолучитьВыделенные()?
Или ПриАктивизиацииЯчейки() / ПолучитьВыделенные()?

теоретически да


Собственно все почти так и происходит...
Мне неохото выкладывать достаточно сыроватый материал, но итог того что получиться - это КОП позволяющий переданную таблицу отображать в отдельной форме с небольшими возможностями изменения: шрифт, размер шрифта, Ж, К, Ч, выравнивание, масштаб, заливка, объединение, границы, цвет текста и границ, выполнение неьбольшого количество формул (сум, среднее, макс,мин) + сортировка колонок и областей по отдельным колонкам...
Счас все сделано работает хорошо однако дорабатывю напильником и стараюсь чтобы все было хорошо и стабильно. Вот  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #264 - 30. Мая 2008 :: 07:56
Печать  
Цитата:
Кстати о пересечении неодноячеейных областей я как то не подумал пока   спасибо за подсказку... счас буду думать, однако "дизайн страдает"  
конечно мне бы хотелось через "ПолучитьВыделенные" иметь возможность достучаться только до уникальных выделенных ячеек... что можешь сказать? Ну скажем переметрезированный метод сделать и если  = 1 тогда таблица только из уникальных областей а не подряд выделенных.
Интересно твое мнение.
В общем случае задача не рещается.
Представь что ты выделил две области: "R1" и "C1". Какие области должны быть в результате?
  

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



Сообщений: 622
Зарегистрирован: 19. Ноября 2007
Пол: Мужской
Re: TableDoc
Ответ #265 - 30. Мая 2008 :: 13:05
Печать  
trad писал(а) 30. Мая 2008 :: 07:56:
В общем случае задача не рещается.
Представь что ты выделил две области: "R1" и "C1". Какие области должны быть в результате?

Наверное, как в Excel, считается как одно выделение, только уникальные ячейки  Улыбка
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #266 - 30. Мая 2008 :: 13:13
Печать  
PVR писал(а) 30. Мая 2008 :: 13:05:
trad писал(а) 30. Мая 2008 :: 07:56:
В общем случае задача не рещается.
Представь что ты выделил две области: "R1" и "C1". Какие области должны быть в результате?

Наверное, как в Excel, считается как одно выделение, только уникальные ячейки  Улыбка

Вопрос не в том КАК считать, а в том ЧТО считать.
Речь идет про метод ПолучитьВыделенные().
Ответь мне конкретно какой результат должен выдать этот метод если выделено две области: "R1" и "C1"
  

1&&2&&3
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: TableDoc
Ответ #267 - 31. Мая 2008 :: 08:42
Печать  
trad писал(а) 30. Мая 2008 :: 13:13:
PVR писал(а) 30. Мая 2008 :: 13:05:
trad писал(а) 30. Мая 2008 :: 07:56:
В общем случае задача не рещается.
Представь что ты выделил две области: "R1" и "C1". Какие области должны быть в результате?

Наверное, как в Excel, считается как одно выделение, только уникальные ячейки  Улыбка

Вопрос не в том КАК считать, а в том ЧТО считать.
Речь идет про метод ПолучитьВыделенные().
Ответь мне конкретно какой результат должен выдать этот метод если выделено две области: "R1" и "C1"


Мне кажется он должен выдать результат (по строкам ТЗ)
1. Ячейка R1C1:R1C1
2. Область R1C2:R1C0
3. Область R2C1:R0C1

может быть такк?
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: TableDoc
Ответ #268 - 31. Мая 2008 :: 15:07
Печать  
vandalsvq писал(а) 31. Мая 2008 :: 08:42:
Мне кажется он должен выдать результат (по строкам ТЗ)
1. Ячейка R1C1:R1C1
2. Область R1C2:R1C0
3. Область R2C1:R0C1

может быть такк?

твое мнение совпало с моим Улыбка
но области из 2 и 3 - нестандартны и их невозможно описать объектом ОбластьТаблицы
  

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



Сообщений: 622
Зарегистрирован: 19. Ноября 2007
Пол: Мужской
Re: TableDoc
Ответ #269 - 01. Июня 2008 :: 08:14
Печать  
Возможно при ПолучитьВыделенные() надо возвращать только уникальные области(без пересечений)  разбивать 2 пересекающихся области на 3 или 4 уникальных.

Которые возможно описать объектом ОбластьТаблицы  Подмигивание
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 16 17 [18] 19 20 ... 36
ОтправитьПечать