# dotNet.ReoGrid 扩展库 - 环形图

要添加环形图，首先在工作表上添加数据源：

```aardio
import dotNet.ReoGrid;

// 获取当前工作表
var sheet1 = grid.CurrentWorksheet;

// 设置数据源
sheet1["A2"] = [
    [ 2007, 2008, 2009, 2010, 2011, 2012 ],
    [ "城市A", 3, 2, 4, 2, 6 ]
];


// 定义数据区域和标题区域，添加高亮区域
sheet1.AddHighlightRange("B3:F3");
sheet1.AddHighlightRange("B2:F2");
```

效果：

![429](../images/429.png)

创建环形图完整实例：

```aardio
import win.ui;
/*DSG{{*/
var winform = win.form(text="ReoGrid 图表示例")
/*}}*/

import dotNet.ReoGrid;
var grid = ReoGrid.ReoGridControl(winform);
var sheet1 = grid.CurrentWorksheet;

// 在工作表上准备数据源
var sheet1 = grid.CurrentWorksheet;
sheet1["A2"] = [
    [ 2007, 2008, 2009, 2010, 2011, 2012 ],
    [ "城市1", 3, 2, 4, 2, 6 ]
];

// 定义数据区域和标题区域，添加高亮区域
sheet1.AddHighlightRange("B3:F3");
sheet1.AddHighlightRange("B2:F2");

// 创建环形图实例
var c1 = ReoGrid.Chart.DoughnutChart();

c1.Location = grid.Point(30, 90);
c1.Size = grid.Size(400, 260);
c1.Title = "环形图示例";
c1.DataSource = ReoGrid.Chart.WorksheetChartDataSource(
        sheet1, "B2:F2","B3:F3",ReoGrid.Chart.RowOrColumn.Column);
 
// 添加图表到工作表
sheet1.FloatingObjects.Add(c1); 

winform.show();
win.loopMessage();
```

效果：

![428](../images/428.png)

## 代码说明

1. 在 aardio 中，我们使用 `dotNet.ReoGrid` 库来操作 ReoGrid 控件
2. 设置数据源时，aardio 可以直接使用表(table)对象，比 C# 中的二维数组更简洁
3. 创建图表实例时，aardio 使用类似 JavaScript 的对象初始化语法
4. 所有 .NET 对象在 aardio 中都可以直接创建和操作，语法非常简洁