Заказ звонка

Закрыть

*
*
*

Отчет диаграммой

Страницы: 1
RSS
Отчет диаграммой, Отчет диаграммой
Появилась необходимость в построении диаграммы типа ганта в новом репортере. Нашел описание работы с прямоугольниками в хэлпе, нарисовал шаблон, начал формировать... но не тут то было. Какие бы я не вводил параметры - результат был непредсказуем. Мой прямоугольник никак не хотел воспринимать параметр RectangleWidth, а вот с ElementWidth почему-то работал. Да и значения, на которых тестировал отчет, строили совсем не то, что я хотел. Уважаемые программисты объясните, что я делал не так и помогите создать пример отчета с построением диаграмм.
Спасибо.

Данные использую такие:
Код

CRE ATE TABLE [dbo].[SA_TEST] (
  [TR_NOTE] varchar(50) COLLATE Cyrillic_General_CS_AS NULL,
  [BEGIN_DATE] int NULL,
  [END_DATE] int NULL
)
ON [PRIMARY]


INS ERT INTO [dbo].[SA_TEST] ([TR_NOTE], [BEGIN_DATE], [END_DATE])
VALUES (N'LSMS374-00001', 1, 1)
GO

INS ERT INTO [dbo].[SA_TEST] ([TR_NOTE], [BEGIN_DATE], [END_DATE])
VALUES (N'LSMS374-00002', 1, 2)
GO

INS ERT INTO [dbo].[SA_TEST] ([TR_NOTE], [BEGIN_DATE], [END_DATE])
VALUES (N'LSMS374-00003', 1, 2)
GO

INS ERT INTO [dbo].[SA_TEST] ([TR_NOTE], [BEGIN_DATE], [END_DATE])
VALUES (N'LSMS374-00004', 2, 1)
GO

INS ERT INTO [dbo].[SA_TEST] ([TR_NOTE], [BEGIN_DATE], [END_DATE])
VALUES (N'LSMS374-00005', 2, 1)
GO

INS ERT INTO [dbo].[SA_TEST] ([TR_NOTE], [BEGIN_DATE], [END_DATE])
VALUES (N'LSMS374-00006', 2, 1)
GO

INS ERT INTO [dbo].[SA_TEST] ([TR_NOTE], [BEGIN_DATE], [END_DATE])
VALUES (N'LSMS374-00007', 3, 2)
GO

INS ERT INTO [dbo].[SA_TEST] ([TR_NOTE], [BEGIN_DATE], [END_DATE])
VALUES (N'LSMS374-00008', 3, 3)
GO

INS ERT INTO [dbo].[SA_TEST] ([TR_NOTE], [BEGIN_DATE], [END_DATE])
VAL UES (N'LSMS374-00009', 3, 1)
GO

INSERT INTO [dbo].[SA_TEST] ([TR_NOTE], [BEGIN_DATE], [END_DATE])
VAL UES (N'LSMS374-00010', 3, 3)
GO

INSERT INTO [dbo].[SA_TEST] ([TR_NOTE], [BEGIN_DATE], [END_DATE])
VAL UES (N'LSMS374-00011', 4, 3)
GO

INSERT INTO [dbo].[SA_TEST] ([TR_NOTE], [BEGIN_DATE], [END_DATE])
VAL UES (N'LSMS374-00012', 4, 4)
GO

INSERT INTO [dbo].[SA_TEST] ([TR_NOTE], [BEGIN_DATE], [END_DATE])
VAL UES (N'LSMS374-00013', 4, 1)
GO

INSERT INTO [dbo].[SA_TEST] ([TR_NOTE], [BEGIN_DATE], [END_DATE])
VAL UES (N'LSMS374-00014', 8, 2)
GO

INSERT INTO [dbo].[SA_TEST] ([TR_NOTE], [BEGIN_DATE], [END_DATE])
VAL UES (N'LSMS374-00015', 8, 1)
GO

INSERT INTO [dbo].[SA_TEST] ([TR_NOTE], [BEGIN_DATE], [END_DATE])
VAL UES (N'LSMS374-00016', 8, 3)
GO

INSERT INTO [dbo].[SA_TEST] ([TR_NOTE], [BEGIN_DATE], [END_DATE])
VAL UES (N'LSMS374-00017', 10, 1)
GO


По рисунку: в столбцах находятся значения смещений и длинны прямоугольника... но как-то оно непонятно строит.

Шаблон в аттаче.
3.png (82.85 КБ) [ Скачать ]
RECTANGLE.rar (11.51 КБ) [ Скачать ]
Принцип управления шириной/высотой и отступами следующий:

- ширина элемента, т.е. та ширина, которую имеет ячейка Excel или объединенные ячейки, принимается за столько единиц, какое число будет указано в ElementWidth;

- ширина прямоугольника установится в зависимости от соотношения значений в RectangleWidth и ElementWidth, т.е. рассчитается относительно ширины элемента;

- отступ слева также рассчитывается относительно ширины элемента и указанного значения в PaddingLeft;

- высота элемента, т.е. та высота, которую имеет ячейка Excel или объединенные ячейки, принимается за столько единиц, какое число будет указано в ElementHight;

- высота прямоугольника установится в зависимости от соотношения значений в RectangleHight и ElementHight, т.е. рассчитается относительно высоты элемента;

- отступ снизу рассчитывается относительно высоты элемента и указанного значения в PaddingBottom.
Страницы: 1
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)