Spread 表格控件:30 行代码实现计算器

Spread XAML 表格控件(Spread WinRT 和 Spread WPF-Silverlight) 具备丰富的数据展示功能和公式计算功能。可以轻松创建计算器、交互式的Dashboard、丰富的报表样式等!今天我们就来介绍下如何通过Spread实现一个简易的计算器。首先,创建新的工程

发布于 2015/01/06 00:00

SpreadJS

Spread XAML 表格控件(Spread WinRTSpread WPF-Silverlight) 具备丰富的数据展示功能和公式计算功能。可以轻松创建计算器、交互式的Dashboard、丰富的报表样式等!今天我们就来介绍下如何通过Spread实现一个简易的计算器。

首先,创建新的工程

添加 GcSpreadSheet 控件到窗体中

右键点击控件,选择“Create a new document” ,这时工程中会自动创建spreasheet1.ssxaml 文件,同时自动设置当前 Spread 控件的 DocumentUri 属性为该文档。

这时设计器已经自动弹出来了,可以通过设计器模拟Spread表格的样式。操作行为基本和 Excel 是一致的,设置完成后保存模板拖出 Spread 设计器。

接下来我们可以调用 CellClick 事件

XAML code:

<UI:GcSpreadSheet x:Name="gcSpreadSheet1" Width="490" Height="730" DocumentUri="ms-appx:///Spread Documents/spreadsheet1.ssxml" CellClick="gcSpreadSheet1_CellClick"/>

 

C# code:

void gcSpreadSheet1_CellClick(object sender, CellClickEventArgs e)
{
    var sheet = this.gcSpreadSheet1.ActiveSheet;
    if (e.Column == 4 && e.Row == 7) //=
    {
        sheet[2, 1].Formula = "";
        try
        {
            sheet[2, 1].Formula = sheet[1, 1].Text;
        }
        catch
        {
            sheet[2, 1].Text = "Invalid Formula!";
        }
    }
    else if (e.Column == 1 && e.Row == 3) //C
    {
        sheet[1, 1].ResetText();
        sheet[2, 1].ResetText();
        sheet[2, 1].Formula = "";
    }
    else if (e.Column == 3 && e.Row == 3) //BS
    {
        var txt = sheet[1, 1].Text;
        if (txt == string.Empty) return;
        sheet[1, 1].Text = txt.Substring(0, txt.Length - 1);
    }
    else if (e.Column > 0 && e.Column < 5 && e.Row > 3 && e.Row < 9) //digits and signs
    {
        sheet[1, 1].Text = sheet[1, 1].Text + sheet[e.Row, e.Column].Text;
        sheet[2, 1].ResetText();
        sheet[2, 1].Formula = "";
    }
}

 

Demo下载:

SpreadJS | 下载试用

纯前端表格控件SpreadJS,兼容 450 种以上的 Excel 公式,具备“高性能、跨平台、与 Excel 高度兼容”的产品特性,备受华为、苏宁易购、天弘基金等行业龙头企业的青睐,并被中国软件行业协会认定为“中国优秀软件产品”。SpreadJS 可为用户提供类 Excel 的功能,满足表格文档协同编辑、 数据填报、 类 Excel 报表设计等业务场景需求,极大的降低企业研发成本和项目交付风险。

如下资源列表,可以为您评估产品提供帮助:

相关产品
推荐相关案例
推荐相关资源
关注微信
葡萄城社区二维码

关注“葡萄城社区”

活字格低代码二维码

关注“活字格低代码”

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态