<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Hopes

    Start Here..

     

    Web Chart

    項(xiàng)目中有報表圖形化的需求, 于是開始在網(wǎng)上找第三方chart控件。因時間緊迫,在CSDN中搜了幾輪后大至確定了幾個候選:

          一、Office帶的OWC控件;二、ComponentOne;三、Web Chart。


    OWC似乎使用者居多,但看見有網(wǎng)友在帖中抱怨OWC在使用時需要許可證書,于是將其排除,我可不想BOSS在看報表時彈出一個“沒有許可證書”的窗口。


    接著找到了ComponentOne的Web chart做出的各種效果圖,效果極佳。我一下子被迷住了,決定就是它,于是馬不停蹄的下了最新版100多M的安裝文件,又花一上午找了個可以用的注冊碼,再找了篇教程,OK萬事俱備,興匆匆的開始寫代碼。需求不復(fù)雜,在一個頁面上畫出多條折線圖即可,根據(jù)以往經(jīng)驗(yàn),這種大型商業(yè)共享軟件在官方站點(diǎn)上看兩個Example頂多一小時絕對能搞定的。但結(jié)果讓我非常的惱火,官方的Example簡單的它偏不提供,弄些什么AJAX的,一大堆實(shí)現(xiàn)輔助效果的代碼,你要找的核心的那三四行打死也找不到,好像就怕你一下子把它的Example看明白了。歷來討厭這種軟件。于是卸載、刪除......等全部弄完,一天過去了。


    還好,后來找到了Web Chart。代碼超簡潔,效果也還不錯,寫些簡單的示例供大家參考:


    一、折線圖

      

    //引用命名空間
    using WebChart;

    //定義一個顏色數(shù)組,供循環(huán)時為不同的記錄填充不同的顏色
    private string[] myColor = new string[]
    {
        
    "Tomato",//西紅柿
        "Black",
        
    "Gold",
        
    "Blue",
        
    "Green",
        
    "Orange",
        
    "Pink",//粉紅
        "Violet",//紫羅蘭
        "Orchid",//淡紫色
        "Lime",//亮綠
        "Tan",//茶色
        "Red",
        
    "Navy"//橘紅
    };

    //用靜態(tài)方式示例了畫出一條兩個點(diǎn)的最簡單折線.實(shí)際項(xiàng)目據(jù)此做循環(huán)而以.
    private void doIt()
    {
        
    //創(chuàng)建折線對象
        LineChart myChart = new LineChart();
        
    //為折線填充顏色
        myChart.Line.Color = Color.FromName(myColor[0]);
        myChart.Fill.Color 
    = Color.FromName(myColor[0]);
        myChart.LineMarker 
    = new DiamondLineMarker(8, Color.FromName(myColor[0]), Color.FromName(myColor[0]));
        
    //圖例說明
        myChart.Legend = "折線一";
        
    //添加第一個點(diǎn),參數(shù)一為x座標(biāo)上的名稱,參數(shù)二為y座標(biāo)上的值
        myChart.Data.Add(new ChartPoint(""float.Parse("100")));
        
    //添加第二個點(diǎn)
        myChart.Data.Add(new ChartPoint(""float.Parse("200")));
        
    //chart為控件ID
        this.chart.Charts.Add(myChart);
        
    this.chart.RedrawChart();
    }

    二、柱狀圖


    //顏色數(shù)組
    private string[] myColor = new string[]
    {
        
    "Fuchsia",
        
    "Black",
        
    "Gold",
        
    "Blue",
        
    "HotPink",
        
    "Orange",
        
    "Peru",
        
    "DodgerBlue",
        
    "Lime",
        
    "Tan",
        
    "Red",
        
    "GreenYellow",
        
    "DarkGreen",
        
    "DimGray",
        
    "Orchid"
    };

    //調(diào)用該方法生成柱狀圖
    private void bindchart()
    {
        
    //獲取一個DataTable,具體函數(shù)略...
        DataTable dt = this.getdt();
        
    if (dt != null)
        {
            
    if (dt.Rows.Count > 0)
            {
                
    //遍歷DataTable為每條記錄生成一個柱狀
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    
    //創(chuàng)建對象
                    ColumnChart mychart = new ColumnChart();
                    
    //設(shè)置柱子寬度
                    mychart.MaxColumnWidth = 48;
                    
    //顏色
                    mychart.Fill.Color = Color.FromName(this.myColor[i]);
                    
    //在柱子上顯示數(shù)量
                    mychart.DataLabels.Visible = true;
                    
    //數(shù)量的字體
                    mychart.DataLabels.Font = new Font("Verdana"14);
                    
    //添加
                    mychart.Data.Add(new ChartPoint(""float.Parse(dt.Rows[i]["num"].ToString())));
                    
    //備注
                    mychart.Legend = dt.Rows[i]["name"].ToString();
                    
    this.chart.Charts.Add(mychart);
                }
                
    //輔助設(shè)置
                
    //背景色
                chart.Background.Color = Color.FromArgb(165016);
                chart.YAxisFont.ForeColor 
    = Color.FromArgb(165016);
                chart.XAxisFont.ForeColor 
    = Color.FromArgb(165016);
                
    //內(nèi)部線條
                chart.Border.Color = Color.FromArgb(200200200);
                
    //邊框樣式
                chart.BorderStyle = BorderStyle.None;
                
    //y最大值
                double max = double.Parse(dt.Compute("MAX(num)","").ToString());
                
    //遞增值
                int intv = 2;

                
    //數(shù)量小于16的情況
                if (max < 16)
                {
                    max 
    = 16;
                }
                
    //大于16的情況
                else
                {
                    intv 
    = int.Parse(Math.Ceiling(max/8).ToString());
                    max 
    += intv;
                }

                
    //設(shè)置Y軸終點(diǎn)值
                chart.YCustomEnd = int.Parse(max.ToString());
                
    //y遞增值
                chart.YValuesInterval = intv;

                
    //生成
                this.chart.RedrawChart();
            }
        }
    }

    Web Chart為免費(fèi)控件,需要的朋友可去官方地址下載:http://www.carlosag.net/Tools/WebChart/Default.aspx,上面還有很多效果和代碼示例

    posted on 2012-08-18 17:02 ** 閱讀(141) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     

    導(dǎo)航

    統(tǒng)計(jì)

    公告

    你好!

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章分類

    文章檔案

    新聞檔案

    相冊

    收藏夾

    C#學(xué)習(xí)

    友情鏈接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 日本免费精品一区二区三区| 亚洲一区二区三区四区在线观看 | 九九热久久免费视频| 国产精品jizz在线观看免费| 亚洲色偷偷偷综合网| 午夜爱爱免费视频| 国产精品亚洲精品久久精品| 国产成人精品男人免费| 免费精品国自产拍在线播放| 亚洲精品偷拍视频免费观看| 国产精品一区二区三区免费| 亚洲国产成人一区二区三区| 日韩精品内射视频免费观看| 亚洲午夜久久久精品影院| 免费视频专区一国产盗摄| 亚洲综合激情五月丁香六月| 国产色婷婷精品免费视频| 免费一级毛suv好看的国产网站| 77777亚洲午夜久久多人| 久久爰www免费人成| 亚洲伊人久久大香线蕉啊| 日韩成人免费aa在线看| 一个人看的www在线免费视频 | 最近免费mv在线电影| 中文字幕 亚洲 有码 在线| 国产免费卡一卡三卡乱码| 国产免费久久精品丫丫| 97亚洲熟妇自偷自拍另类图片| 国产h视频在线观看免费| 美女黄色免费网站| 亚洲国产一区二区a毛片| 成人免费无码大片A毛片抽搐| 男人免费视频一区二区在线观看| 国产亚洲一区二区手机在线观看| 国产大片91精品免费观看不卡| 亚洲国产精华液2020| 亚洲精品美女久久久久99| 99热在线精品免费全部my| 国产精品极品美女自在线观看免费 | 国产精品亚洲综合| 亚洲精品无码午夜福利中文字幕|