2016-08-04 3 views
0

사용자를 기준으로 내 보고서의 스타일/테마를 변경하고 싶습니다.
내 모든 사용자에게 사용자 그룹이 있습니다. 내 사용자 그룹에는 사용자 지정 스타일이 있습니다.
이 모든 정보는 DB에 있습니다.
UserStyle : ID | ID 사용자 그룹 | 로고 | 스타일 1 | 색상 1 | 요법 ..스타일을 동적으로 변경합니다.

해당 정보로 보고서 스타일을 변경하고 싶습니다.
내 항목에 스타일 이름을 지정할 수 있음을 알고 있습니다.
하지만 주 보고서 코드 뒤에 정의 할 수 있습니까?

보너스 : 메인 보고서에 한 번만 할 수 있습니까?

기본적으로 스타일 이름을 CssClass로 사용합니다. 당신이 GUI에 대한 혐오감이있는 경우

+0

당신은 CSS를 사용하여 세션과 JS에 대해 생각해 보셨나요? 그래서 효과적으로 내가 할 수있는 일은 로그인 할 때 무엇을 할 수 있는지를 의미합니다. 세션이 시작되어 사용자가 로그인 할 때 사용자가 로그인합니다. 사용자 "관리자"가 빨간색의 배경색을 가지고 있다면 js에서 사용자가 로그인 할 때 원하는 클래스에 추가 할 .AddClass 속성을 수행 할 수 있다고 말할 수 있습니다. 또는 어쩌면 사용자에 따라 CSS를 업데이 트합니까? 확실하게 할 수 있습니다. –

+0

Page_Load에서 이미 내 마스터 페이지에서 CSS를 옮긴 Im입니다. 나는 telerik 보고서에서 CSS 나 스타일을 일반적으로 적용하는 방법을 모른다. 나는 요소를 어떻게 스타일링하는지 알지만,이 요소에 대해서는 23 하위 보고서가있는 1 개의 주요 보고서가 있습니다. 그것과 같은 200+ 요소는 수동 스타일입니다. Iam은 스타일/테마를 처리하는 일반적인 방법을 찾고 있습니다. 그리고 나는 코드에서 그것을하고 싶다. 때문에 'stylename'(친절한 CSS 클래스) 표현을 허용하지 않습니다. –

답변

0

2. 디자이너 GUI

  1. 디자인의 모든 style rules
  2. 수출 그들을 사용. Exporting and Reusing Style Sheets

당신은 매개 변수를 필터링, 뒤에 코드에서 바인딩 할 수 있습니다.
또는 호출 앱에 추가하십시오.

0

1. 프로그래머 솔루션은

, 이것은 당신을 위해 만들어!

1rst는 최악의,하지만 난 주위에 1rst 작업을 함께했다.

텔 레릭 보고서의 스타일은 StyleRules에 정의 할 수 있습니다.
사용자를 기반으로 테마를 관리하려면 ReportParameter를 사용할 수 있습니다.

Telerik.Reporting.Drawing.StyleRule styleRule1 = new Telerik.Reporting.Drawing.StyleRule(); 
styleRule1.Selectors.AddRange(new Telerik.Reporting.Drawing.ISelector[] { 
new Telerik.Reporting.Drawing.StyleSelector("MyStyle")}); 

if(reportParameter1.Value == "StyleUser1") 
{ 
    styleRule1.Style.Padding.Left = Telerik.Reporting.Drawing.Unit.Point(2D); 
    styleRule1.Style.Padding.Right = Telerik.Reporting.Drawing.Unit.Point(2D); 
    styleRule1.Style.BackgroundColor = System.Drawing.Color.Blue; 
    styleRule1.Style.Color = System.Drawing.Color.White; 
    styleRule1.Style.Font.Bold = true; 
    styleRule1.Style.Font.Name = "Segoe UI"; 
} 
else { 
    //default style 
} 

스타일 이름을 디자이너 또는 생성자에서 요소에 추가 할 수 있습니다.
이 방법 :

this.textBox2.StyleName = "MyStyle"; 

당신은 디자이너 스타일 규칙을 만들고 만 초기화 구성 요소의 구성 요소에 스타일을 할당 할 수 있습니다.

if(reportParameter1.Value == "StyleUser1") 
{ 
    this.textBox1.StyleName = "MyStyle"; 
    this.textBox2.StyleName = "MyStyle"; 
    this.textBox3.StyleName = "MyStyle"; 
} 
else { 
    //default style 
}