找回密码
 立即注册

QQ登录

只需一步,快速开始

sam
论坛元老   /  发表于:2013-8-21 10:09  /   查看:5956  /  回复:6
Hi  iceman:

我现在需要在列排序的事件中执行某个JS的方法。我这边试过了,怎么都不成功。
请帮忙看下。

private void dgView_SortColumnCommand(object sender, SpreadCommandEventArgs e)
        {
            //((FarPoint.Web.Spread.FpSpread)sender).SaveChanges();
            System.Web.UI.ScriptManager.RegisterStartupScript((FarPoint.Web.Spread.FpSpread)sender, ((FarPoint.Web.Spread.FpSpread)sender).GetType(), "", "alert('ooo');", true);
        }

dgView.SortColumnCommand += new SpreadCommandEventHandler(dgView_SortColumnCommand);

请帮忙看看。以上是我的参考代码。

谢谢!

6 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2013-8-21 11:42:00
沙发
回复 1楼sam的帖子

sam 你好,

这是由 Spread 内部机制决定的,无法在 Spread 事件中弹出 js alert 提示框。我建议你在前台进行提示。

谢谢
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-8-21 12:13:00
板凳
回复 2楼iceman的帖子

Hi Sam,

补充一下,在Spread内部事件中,可以修改 Spread 的属性值。通过这个属性值,我们可以在前台判断,进而弹出提示框。
回复 使用道具 举报
sam
论坛元老   /  发表于:2013-8-21 14:39:00
地板
能否给个例子看看。谢谢!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-8-21 17:38:00
5#
回复 4楼sam的帖子

如果通过前台实现会更简单,可以提高效率。
参考代码如下:
  1. protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) { return; } this.FpSpread1.Sheets[0].AllowSort = true; } protected override void Render(HtmlTextWriter writer) { Table table = this.FpSpread1.FindControl("cht") as Table; TableCell cell = table.Rows[0].Cells[0]; cell.Attributes.Add("onclick", "sortcolumns()"); base.Render(writer); }
复制代码
JS
  1. <script type="text/javascript"> function sortcolumns() { var spread = this.document.getElementById("FpSpread1"); spread.SortColumn(spread.ActiveCol); alert("排序"); } </script>
复制代码
回复 使用道具 举报
sam
论坛元老   /  发表于:2013-8-22 09:05:00
6#
已OK。谢谢了!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-8-22 09:07:00
7#
回复 6楼sam的帖子

好的,不客气。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部