Как определить положение ячейки?

  • Автор темы Автор темы leechdraw
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

leechdraw

Участник
Топикстартер
Сообщения
50
Реакции
0
Есть таблица, которая распределена по нескольким фреймам. Как определить к какой странице принадлежит некоторая ячейка (например, 234 строка, 3 столбец), и определить нижнюю координаты нижней границы ячейки на этой странице?
 
Ответ: Как определить положение ячейки?

Допустим, myTable — ссылка на таблицу, тогда
следующим образом выделим нужную ij-ячейку:
myTable.rows.cells[j].select();
Номер страницы, на которой эта ячейка:
myCellPage = mySelection.parent.parent.parent.parent.name;

Про координаты пока ничего сказать не могу.
 
Ответ: Как определить положение ячейки?

По поводу нижней координаты ячейки: она будет равна baseline последнего Character в данной Cell + ее bottomInset.
Если также нужна координата по Y, то аналогичные расчеты нужно провести при помощи horizontalOffset.
 
Ответ: Как определить положение ячейки?

sakhar сказал(а):
По поводу нижней координаты ячейки: она будет равна baseline последнего Character в данной Cell + ее bottomInset.
Необходимо только учитывать, что это верно лишь в случае, когда высота ячейки складывается и суммы верхнего и нижнего отступов и высоты шрифта. Но на практике это будет только в случае, если до присвоения стиля высота строки меньше упомянутой ранее суммы.
Тогда при присвоении стиля высота ячейки изменится.
Но если текущая высота строки превосходит эту сумму, высота ячейки после присвоения стиля останется прежней.
Вот такая неоднозначность в работе с таблицами. :(
Чтобы избавиться от неё, я после создания набора стилей абзацев, ячеек и таблиц, выделяю всю таблицу, значением Exactly устанавливаю высоту всех строк 1,1 мм, и возвращаю эту установку в значение At Least. После этого таблице присваиваю её стиль.
Практически высота строки любой таблицы больше 1,1 мм, поэтому при присвоении стилей высота ячеек будет точно определяться суммой отступов и высоты шрифта, то есть мы получим возможность управлять высотой строки, и тогда будет верным утверждение sakhar о координате нижней грани ячейки.
 
Статус
Закрыто для дальнейших ответов.