【第22期】观点:IT 行业加班,到底有没有价值?

[Infragistics]利用第三方控件实现仪盘表效果

原创 2012年03月26日 11:16:54

最近在做ERP数据分析的时候,看到网友法者:利用用友自带的BI的工具做出仪盘表的效果:

那如果我也想做呢?查询了网上很做资料都没有结果。很多都要收费和破解

这个时候想到了用Infragistics第三方控件自己有一个基于WEB2.0的破解版控件,那就先试试吧。

首先引用DLL

Infragistics2.WebUI.Shared.v7.3.dll

Infragistics2.WebUI.UltraWebGauge.v7.3.dll

类库:using Infragistics.UltraGauge.Resources;

参考官方网站:http://help.infragistics.com/Help/NetAdvantage/ASPNET/2010.3/CLR4.0/html/WebGauge_Web_Creating_a_Radial_WebGauge_Using_Code.html

 private void Gauge2() 
    {
     // Infragistics.WebUI.UltraWebGauge.UltraGauge ultraGauge2 =
     //new Infragistics.WebUI.UltraWebGauge.UltraGauge();
         
        RadialGauge myRadialGauge = new RadialGauge();
        RadialGaugeScale myScale = new RadialGaugeScale();
        NumericAxis numericAxis1 = new NumericAxis();
        RadialGaugeNeedle myNeedle = new RadialGaugeNeedle();
        SolidFillBrushElement mySolidFillBrushElement = new SolidFillBrushElement();
        SolidFillBrushElement mySolidFillBrushElementMajor =
          new SolidFillBrushElement();
        SolidFillBrushElement mySolidFillBrushElementMinor =
          new SolidFillBrushElement();
        SolidFillBrushElement mySolidFillBrushElementMinorStroke =
          new SolidFillBrushElement();
        StrokeElement myStrokeElement = new StrokeElement();
        SolidFillBrushElement mySolidFillBrushElement2 = new SolidFillBrushElement();
        SimpleGradientBrushElement mySimpleGradientBrushElement =
          new SimpleGradientBrushElement();
        SolidFillBrushElement mySolidFillBrushElement1 = new SolidFillBrushElement();
        mySolidFillBrushElement.Color = System.Drawing.Color.Black;
        myRadialGauge.Dial.BrushElement = mySolidFillBrushElement;
        myRadialGauge.Margin = new Margin(10, 10, 10, 10, Measure.Pixels);
        //Set the following Axis properties and add the Axis to your scale: 
        numericAxis1.EndValue = 120; //仪盘表最大数值
        myScale.Axes.Add(numericAxis1);
        //Set the following Scale properties
        myScale.EndAngle = 405; 
        myScale.StartAngle = 135;
       
        mySolidFillBrushElement1.Color = System.Drawing.Color.White;
        myScale.Labels.BrushElement = mySolidFillBrushElement1;

        //Set the following Label properties
        myScale.Labels.Extent = 65;
        myScale.Labels.Font =
          new System.Drawing.Font("Arial", 14F,
          System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Pixel);
        myScale.Labels.Frequency = 20;//大间隔显示数值:0 20 40 60 
        myScale.Labels.Orientation =
          Infragistics.UltraGauge.Resources.RadialLabelOrientation.Horizontal;
        myScale.Labels.SpanMaximum = 18;

        //Set the following major Tickmark properties: 
        mySolidFillBrushElementMajor.Color =
  System.Drawing.Color.FromArgb(((int)(((byte)(189)))), ((int)(((byte)(189)))),
  ((int)(((byte)(189)))));
        myScale.MajorTickmarks.BrushElement = mySolidFillBrushElementMajor;
        myScale.MajorTickmarks.EndExtent = 95; 
        myScale.MajorTickmarks.EndWidth = 3;
        myScale.MajorTickmarks.Frequency = 10; //大间隔显示频率
        myScale.MajorTickmarks.StartExtent = 85;
        myScale.MajorTickmarks.StartWidth = 3;

        //Set the following minor Tickmark properties: 
        mySolidFillBrushElementMinor.Color =
  System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))),
  ((int)(((byte)(240)))));
        myScale.MinorTickmarks.BrushElement = mySolidFillBrushElementMinor;
        myScale.MinorTickmarks.EndExtent = 90; 
        myScale.MinorTickmarks.EndWidth = 1;
        myScale.MinorTickmarks.Frequency = 2;
        //小间隔频率=myScale.MajorTickmarks.Frequency/myScale.MinorTickmarks.Frequency=10/2=5
        myScale.MinorTickmarks.StartExtent = 85;
        mySolidFillBrushElementMinorStroke.Color =
          System.Drawing.Color.FromArgb(((int)(((byte)(135)))), ((int)(((byte)(135)))),
          ((int)(((byte)(135)))));
        myStrokeElement.BrushElement = mySolidFillBrushElementMinorStroke;
        myScale.MinorTickmarks.StrokeElement = myStrokeElement;

        //Set the following Anchor properties: 
        myNeedle.Anchor.BrushElement = mySimpleGradientBrushElement;
        mySimpleGradientBrushElement.EndColor = System.Drawing.Color.WhiteSmoke;
        mySimpleGradientBrushElement.GradientStyle =
          Infragistics.UltraGauge.Resources.Gradient.BackwardDiagonal;
        mySimpleGradientBrushElement.StartColor = System.Drawing.Color.Gray;
        myNeedle.Anchor.RadiusMeasure =
          Infragistics.UltraGauge.Resources.Measure.Percent;

        //设置指针属性
        mySolidFillBrushElement2.Color = System.Drawing.Color.Red;
        myNeedle.BrushElement = mySolidFillBrushElement2;
        myNeedle.EndExtent = 65;
        myNeedle.EndWidth = 1;
        myNeedle.MidExtent = 0;
        myNeedle.MidWidth = 3;
        myNeedle.Precision = 1;
        myNeedle.StartExtent = -20;
        myNeedle.StartWidth = 3;
        myNeedle.Value = int.Parse(TextBox2.Text.Trim());//指针显示值
        myNeedle.WidthMeasure = Measure.Percent;
        myScale.Markers.Add(myNeedle);

        
        myRadialGauge.Scales.Add(myScale);
        UltraGauge2.Gauges.Add(myRadialGauge);
        //图形的大小
        UltraGauge2.Height = Unit.Pixel(200); 
        UltraGauge2.Width = Unit.Pixel(200);

        //显示文本框
        BoxAnnotation boxAnnotation1 = new BoxAnnotation();
        SolidFillBrushElement solidFillBrushElement1 = new SolidFillBrushElement();
        SolidFillBrushElement solidFillBrushElement2 = new SolidFillBrushElement();
        boxAnnotation1.Bounds = new System.Drawing.Rectangle(38, 70, 25, 10);
        boxAnnotation1.BoundsMeasure = Infragistics.UltraGauge.Resources.Measure.Percent;
        solidFillBrushElement2.Color = System.Drawing.Color.White;
        boxAnnotation1.Label.BrushElement = solidFillBrushElement2;
        boxAnnotation1.Label.FormatString = "Speed";
        this.UltraGauge2.Annotations.Add(boxAnnotation1);


        this.Controls.Add(UltraGauge2);

    }


我在前台拉了一个控件主要是为了定位位置。

<%@ Register Assembly="Infragistics2.WebUI.UltraWebGauge.v7.3, Version=7.3.20073.38, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"
    Namespace="Infragistics.WebUI.UltraWebGauge" TagPrefix="igGauge" %>
<%@ Register Assembly="Infragistics2.WebUI.UltraWebGauge.v7.3, Version=7.3.20073.38, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb"
    Namespace="Infragistics.UltraGauge.Resources" TagPrefix="igGaugeProp" %>

        <igGauge:UltraGauge ID="UltraGauge2" runat="server"  >
        </igGauge:UltraGauge>

看看效果是否达到了呢?


界面单调,具体功能还没有深入研究,如果你知道具体的使用方法请与我联系。

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

关于VisualStudio2012中使用第三方控件Infragistics如何发布

最近公司打算使用Infragistics第三方按件来做专案,在发布的时候遇到了

[Infragistics]利用第三方控件实现仪盘表效果

最近在做ERP数据分析的时候,看到网友法者:利用用友自带的BI的工具做出仪盘表的效果: 那如果我也想做呢?查询了网上很做资料都没有结果。很多都要收费和破解 这个时候想到了用Infragistics第三方控件自己有一个基于WEB2.0的破解版控件,那就先试试吧。 首先引用DLL Infragistics2.Web
  • wsql
  • wsql
  • 2012-03-26 11:16
  • 639

欢迎关注CSDN程序人生公众号

关注程序员生活,汇聚开发轶事。

利用Java 第三方控件 jxl对M$ Excel 进行全操作

    作为一个完整的 MIS 系统,报表功能是必不可少的,但是尽管报表为用户提供了强大的可操作性功能,但是,对于用户的某些统计需求来说,如果采用开发报表的方式来解决就有点像“拿着牛刀去杀鸡!”人为地提升了系统的开发成本和维护成本。因此,应用系统对 Excel 的读、写、更新操作就变成非常有效的(低成本)解决方案。 此外,由于 Excel 的出众表现,致使其在很多应用系统的日志管理子系统中如日中天。 自从 M$ 公开了 OFFICE 的编码格式以来,很多开源的组

NetAdvantage专区 (第三方控件 infragistics)

http://www.cnblogs.com/tintown/category/13064.html
  • lee576
  • lee576
  • 2006-10-23 20:50
  • 1307

最有价值的.Net第三方控件&nbsp;aspose

http://www.haogongju.net/art/795551 &lt;wbr&gt;&lt;/wbr&gt; http://www.cnblogs.com/wangrsh201
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)