|
<< Нажмите, чтобы показать Содержание >> Объединение (слияние) ячеек |
Ячейки имеют свойства ColSpan и RowSpan, доступные только для чтения, аналогичные HTML-аттрибутам <td colspan rowspan>, по умолчанию равные 1.
Если Cells[r,c].ColSpan>1, эта ячейка перекрывает (ColSpan-1) ячеек справа:
Cell[r,c], Cell[r,c+1], ..., Cell[r,c+Cell[r,c].ColSpan-1].
В этом случае все перекрывающиеся ячейки (Cell[r,c+1], ..., Cell[r,c+Cell[r,c].ColSpan-1]) уничтожаются и становятся равными nil.
Количество ячеек в строке по-прежнему равно количеству ячеек во всех остальных строках, даже при слиянии.
То же самое относится и к RowSpan: ячейка с RowSpan>1 перекрывает (RowSpan-1) ячеек ниже.

Пример ColSpan и RowSpan
Пример: проход по всем ячейкам таблицы
Этот пример устанавливает красный цвет для всех ячеек (VCL и Lazarus).
for r := 0 to table.RowCount-1 do
for c := 0 to table.ColCount-1 do
if table.Cells[r,c] <> nil then
table.Cells[r,c].Color := clRed;
// Cells[r,c]=nil если ячейка перекрыта левой верхней
Вы можете получить ячейку, которая перекрывает данную, методом table.Rows.GetMainCell:
function GetMainCell(ARow,ACol: Integer;
out MRow, MCol: Integer): TRVTableCellData;
Методы для объединения ячеек:
Обратные операции:
Разделение ячеек: