Я создаю иерархию объектов, представляющую таблицу, которая рисуется на элементе управления. Моя иерархия выглядит так:
Table has multiple pages
Page has multiple lines
Line has multiple cells
Cell has multiple glyph
Я хочу, чтобы в таблице была опция (параметр) для фильтрации отображаемого столбца (ячеек). Код клиента может сделать что-то вроде этого:
myTable.ShowColumns(8,12) // Will display columns 8 to 12
Ответственность за отображение и размещение ячеек в элементе управления лежит на объектах Lines. Как передать информацию о том, какие ячейки должны отображаться из объекта Table в объект Line?
Должен ли я дать каждой строке ссылку на объект таблицы? Должен ли я пытаться передавать информацию каждой строке через иерархию каждый раз, когда вызывается Table.ShowColumns()
?
Должен быть элегантный способ?