在后台代码中调用Spread客户端的JS方法

发布时间:2012/12/27 00:12 发布者:jian

返回博客中心

这篇文章主要讲解如何在服务端调用Spread提供的客户端JS方法,主要是借助 ClientScript.RegisterStartupScript() 方法来实现这一功能。

比如,我们要实现对 Spread 中数据进行检索,如何跳转到检索结果所在的单元格。

在 Web 页面中添加 Spread,Button 和 TextBox,如何在Button的Click事件中对 Spread中的数据进行检索操作,如果检索到相应的结果,那么,调用客户端的方法来跳转到该单元格:

protected void btn_serch_Click(object sender, EventArgs e)
    {
        int row = -1;
        int col = -1;

        FpSpread1.Search(0, txt_serch.Text, false, false, false, false, 0, 0, ref row, ref col);

        if (row >= 0)
        {
            ClientScript.RegisterStartupScript(this.GetType(), "ScrollTo", string.Format("ScrollToRow({0},{1});", row, col), true);
        }
    }

对应的客户端 JS 代码如下:

<script type="text/javascript" language="javascript">

        var rowindex = -1;
        var colindex = -1;

        function ScrollToRow(r, c) {
            if (r != "" && r != undefined) {
                rowindex = r;
                colindex = c;
            }

            if (document.all) {
                document.onreadystatechange = function () {
                    var spread = document.getElementById("FpSpread1");
                    if (spread.readyState == "complete") {
                        spread.ScrollTo(rowindex, 0);
                        spread.SetActiveCell(rowindex, colindex);
                    }
                }
            }
            else {
                document.addEventListener("DOMContentLoaded", function () {
                    var spread = document.getElementById("FpSpread1");
                    spread.ScrollTo(rowindex, colindex);
                    spread.SetActiveCell(rowindex, colindex);
                }, false)
            }
        }        
</script>

运行截图:

 

源码下载:

ServerCallClient.zip (10.91 kb)


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网