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

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

发布于 2012/12/27 00:00

这篇文章主要讲解如何在服务端调用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)

关于葡萄城

葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。

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

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

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