ReoGrid 提供了多种单元格类型用于在电子表格中显示。通过使用单元格类型,可以在工作表中实现各种输入和输出功能。此外,创建自定义扩展单元格类型也很简单。

内置单元格类型

ReoGrid 提供以下单元格类型:

有关每种类型的完整 API 参考,请参阅 内置单元格类型

选择和输入类型

类型说明详情
DropdownListCell用于单项选择的下拉列表下拉列表单元格
ComboListCell带自动补全功能的可编辑组合框组合列表单元格
CheckBoxCell复选框(切换 true/false内置单元格类型
RadioButtonCell单选按钮(互斥选择)内置单元格类型
DatePickerCell带日历的日期选择器(仅 WinForms)内置单元格类型

显示类型

类型说明详情
ButtonCell可点击按钮内置单元格类型
HyperlinkCell可点击超链接内置单元格类型
ImageCell显示图片内置单元格类型
ImageButtonCell按钮上的图片内置单元格类型
ProgressCell进度条(0–1)内置单元格类型
NegativeProgressCell正/负进度条内置单元格类型

自定义单元格类型

ReoGrid 提供 ICellBody 接口和 CellBody 基类用于创建自定义单元格类型。覆写渲染、鼠标、键盘和编辑方法来创建您需要的任何单元格行为。

有关完整的 API 参考和示例,请参阅 自定义单元格类型

快速示例

class StatusCell : CellBody
{
    public override void OnPaint(CellDrawingContext dc)
    {
        dc.DrawCellBackground();
        var bounds = GetBodyBounds();
        var color = Cell?.Data is "OK" ? SolidColor.Green : SolidColor.Red;
        dc.Graphics.FillRectangle(
            new Rectangle(bounds.X + 2, bounds.Y + 2, 12, bounds.Height - 4), color);
        dc.DrawCellText();
    }
}

sheet.Cells["A1"].Body = new StatusCell();
sheet["A1"] = "OK";

类层次结构

ICellBody 接口
CellBody 基类
ContentCellBody CheckBoxCell, RadioButtonCell
ButtonCell ImageButtonCell
DropdownCell DropdownListCell, ComboListCell, DatePickerCell
ProgressCell NegativeProgressCell
HyperlinkCell
ImageCell
这篇文章对您有帮助吗?