我想根据用户更改报告的样式/主题 我的所有用户都有一个UserGroup。我的UserGroup具有自定义样式 所有这些信息都在DB中 UserStyle:ID | ID UserGroup | LOGO |风格1 |颜色1 |等..
我想用这些信息更改我的报告样式。
我知道可以给我的项目一个样式名称。
但我可以在主要报告代码中定义它。
额外奖励:主报告只能这样做一次吗?
基本上使用Style Name作为CssClass。
答案 0 :(得分:0)
如果你对GUI有厌恶,那就是为你做的!
第一个是 最差 ,但第一个解决方法是我想出来的。
telerik报告中的样式可以在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
}
答案 1 :(得分:0)
您可以在代码中绑定它们,过滤参数。
或者只是将它们添加到您的通话应用中。