Мир объектов Excel 2000


Объектная модель и программирование


Начну с некоторого обзора, позволяющего дать общее представление об объектной модели этого компонента. Прежде всего, замечу, что корневым объектом в этой модели является не объект Chart, а объект - ChartSpace, задающий пространство диаграммы, в котором можно разместить несколько объектов Chart. Содержательно это означает, что компонент ChartSpace играет роль листа книги, который может одновременно отображать несколько диаграмм. Для программиста важно то, что объект ChartSpace имеет свойство Charts, возвращающее коллекцию объектов Chart и для добавления элементов в эту коллекцию используется стандартный для коллекций метод Add.

Особую роль среди методов объекта ChartSpace играет метод ExportPicture, позволяющий экспортировать пространство диаграммы со всем ее содержимым в графический файл в формате GIF. Такой прием применяется при размещении компонент OWC на серверной стороне, о чем я еще скажу особо. Из свойств объекта Chart упомяну свойство Type, позволяющее задать тип диаграммы. Говоря о методах этого объекта, назову метод SetData, который используется для того, чтобы установить связь с разнообразными источниками данных и направить их в те или иные области диаграммы. Одноименный метод объекта Series, входящего в коллекцию серий данных - SeriesCollection объекта Chart, - позволяет загружать данные отдельной серии. Из событий объекта Chart нельзя не назвать событие DataSetChange. Это событие зажигается, когда связанный источник данных изменяет свои данные. При возникновении события компонент Chart автоматически перестраивается, чтобы соответствовать обновленным данным. Но, если обновление связано с изменением структуры диагра ммы, например, появлением новой серии, то для подобных обновлений следует написать собственный обработчик события.

В заключение обзора хочу представить схему, отражающую устройство основных объектов модели - ChartSpace, WCChart, WCSeries:

Схема устройства основных объектов модели

Рис. 10.7.  Схема устройства основных объектов модели

Заметьте, свойства объекта ChartSpace - ChartDataSources и Charts - возвращают соответственно коллекцию WCDataSources и WCCharts. Первая из них с элементами WCDataSource задает источники данных, которых может быть несколько, вторая - с элементами WCCharts - определяет объекты, задающие диаграммы, расположенные в общем пространстве, заданном объектом ChartSpace.

Объект WCChart, который и определяет саму диаграмму, устроен достаточно сложно, поскольку сложным является устройство самой диаграммы. Свойства этого объекта позволяют получить объекты, задающие основные элементы диаграммы:

  • SeriesCollection - возвращает коллекцию объектов WCSeriesCollection, задающих данные, используемые для построения диаграммы. Заметьте, имя класса отличается от имени свойства приставкой WC, указывающей на классы Web-компонент.
  • Axes - возвращает коллекцию WCAxes - объектов, задающих оси диаграммы.
  • Title - возвращает объект WCTitle, задающий заголовок диаграммы.
  • Legend - возвращает объект WCLegend, задающий описание (легенду) диаграммы.
  • PlotArea - возвращает объект WCPlotArea, представляющий область отводимую для построения диаграммы. Свойство имеет статус "только для чтения". Не для всех объектов Chart возвращается соответствующий объект. Его не имеют диаграммы типа "pie", "radar" или "polar".




Начало  Назад  Вперед



Книжный магазин