Spread for ASP.NET 表格控件 在前台提供了 Callback 方法用于调用后台 Command 事件,通过这个事件我们就可以根据前台的用户行为调用后台的 Spread 丰富的接口去操作 Spread。论坛中也有很多用户询问,因此在本篇文章中记录下使用方法。

本篇文章中我们以捕获前台用户鼠标单击事件为例进行功能描述。

1.后台添加Cell的 onclick 事件:

Spread 表格控件渲染到前台后是以 HTML Table 进行展示的。

后台代码:

protected override void Render(HtmlTextWriter writer)
{
     Table viewPort = this.FpSpread1.FindControl("viewport") as Table;
     viewPort.Attributes.Add("onclick", "clickOnSpread()");
     base.Render(writer);
}

 

前台代码:

<script type="text/javascript">
        function clickOnSpread() {
        }
</script>

 

2.前台获取 Spread DOM 节点,并且调用 CallBack 方法:

    <script type="text/javascript">
        function clickOnSpread() {
            var spread = this.document.getElementById("FpSpread1");
            //获取点击行列信息
            var activeRow = spread.GetActiveRow();
            var activeCol = spread.GetActiveCol();
            //CallBack到后台
            spread.CallBack("前台点击事件"+"Row:"+activeRow+"Col:"+activeCol,true);
        }
    </script>

 

3.添加 ButtonCommand 事件,在 CallBack 事件中获取单元格信息。

        protected void FpSpread1_ButtonCommand(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e)
        {
            //获取当前操作的Spread,从而可以获取当前 Spread 的任何信息
            FarPoint.Web.Spread.FpSpread currentSpread = (FarPoint.Web.Spread.FpSpread)(sender);
            //取得事件名称
            string commandName = e.CommandName;
            //取得当前操作表单
            FarPoint.Web.Spread.SheetView currentSheetView = e.SheetView;
        }

 

以上即为添加前台操作后台响应的详细操作步骤。

Demo 下载:VS2013 + C# + Spread 8.0

Spread_Callback.zip

下载 Spread 表格控件体验更多功能,请点击:

/download/?pid=46