这篇文章主要讲解如何在服务端调用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>
运行截图:
源码下载: