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