Страница 1 из 1
сделать border для CrossTabCell как в excel
Добавлено: 20 авг 2013, 16:26
isannn
хочется у ячеек часть границы сделать разным цветом и жирностью, как в excel (когда выделяешь неск. ячеек и накладываешь границу)
2013-08-19_1320.png
получилось только так
2013-08-19_1323.png
как быть?
Re: сделать border для CrossTabCell как в excel
Добавлено: 21 авг 2013, 09:36
HighAley
Здравствуйте.
Вы можете использовать расширенное форматирование границ.
- BorderAdvancedRu.png (23.29 КБ) 2993 просмотра
Спасибо.
Re: сделать border для CrossTabCell как в excel
Добавлено: 21 авг 2013, 15:24
isannn
как добрать до этой настройки в дизайнере?
версия в атаче
Re: сделать border для CrossTabCell как в excel
Добавлено: 21 авг 2013, 16:15
Andrew
Здравствуйте,
По данной ссылке Вы найдете подробное описание Advanced Border
http://www.stimulsoft.com/en/documentat ... orders.htm
Спасибо.
Re: сделать border для CrossTabCell как в excel
Добавлено: 22 авг 2013, 09:05
isannn
поставил для StiCrossCell расширенную границу (2013-08-22_0903.png)
в событие обработки ячейки добавил код
Код: Выделить всё
if (isBordered)
{
e.Cell.Field.Border.LeftSide.Color = Color.FromArgb(255, 255, 255, 255);
e.Cell.Field.Border.LeftSide.Size = 2;
e.Cell.Field.Border.LeftSide.Style = StiPenStyle.Solid;
e.Cell.Field.Border.RightSide.Color = Color.FromArgb(255, 155, 155, 155);
e.Cell.Field.Border.RightSide.Size = 1;
e.Cell.Field.Border.RightSide.Style = StiPenStyle.Solid;
e.Cell.Field.Border.TopSide.Color = Color.FromArgb(255, 255, 255, 255);
e.Cell.Field.Border.TopSide.Size = 2;
e.Cell.Field.Border.TopSide.Style = StiPenStyle.Solid;
e.Cell.Field.Border.BottomSide.Color = Color.FromArgb(255, 255, 255, 255);
e.Cell.Field.Border.BottomSide.Size = 2;
e.Cell.Field.Border.BottomSide.Style = StiPenStyle.Solid;
}
при открытии отчета - error (2013-08-22_0901.png)
что делать?
Re: сделать border для CrossTabCell как в excel
Добавлено: 22 авг 2013, 12:13
isannn
решилось путем приведения StiBorder к StiAdvancedBorder
Код: Выделить всё
if (isBordered)
{
StiAdvancedBorder _border = (StiAdvancedBorder)e.Cell.Field.Border;
_border.LeftSide.Color = Color.FromArgb(255, 255, 255, 255);
_border.LeftSide.Size = 2;
_border.LeftSide.Style = StiPenStyle.Solid;
_border.RightSide.Color = Color.FromArgb(255, 155, 155, 155);
_border.RightSide.Size = 1;
_border.RightSide.Style = StiPenStyle.Solid;
_border.TopSide.Color = Color.FromArgb(255, 255, 255, 255);
_border.TopSide.Size = 2;
_border.TopSide.Style = StiPenStyle.Solid;
_border.BottomSide.Color = Color.FromArgb(255, 255, 255, 255);
_border.BottomSide.Size = 2;
_border.BottomSide.Style = StiPenStyle.Solid;
}
Re: сделать border для CrossTabCell как в excel
Добавлено: 22 авг 2013, 12:29
HighAley
Здравствуйте.
Для описания границ существует 2 класса: StiBorder и StiAdvancedBorder. У первого, который используется по умолчанию, нету свойств LeftSide, RightSide и т.д.
Для задания расширенных настроек границ вам надо создать соответствующий класс:
Код: Выделить всё
e.Cell.Field.Border= new Stimulsoft.Base.Drawing.StiAdvancedBorder();
Спасибо.