找回密码
 立即注册

QQ登录

只需一步,快速开始

nangcat

注册会员

15

主题

38

帖子

137

积分

注册会员

积分
137

活字格认证

nangcat
注册会员   /  发表于:2014-9-10 09:07  /   查看:5165  /  回复:5
版主,请问一下,如果有多个sheet,因为ActiveSheetChanged事件为服务端事件,客户端如何能捕捉到sheet页已经被切换,或者得到当前sheetindex?
非常感谢!

5 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-9-10 18:16:00
沙发
回复 1楼nangcat的帖子

该需求需要在后台抓取 SheetTab HTML 节点添加前台事件来实现,抓取相应前台 HTML Table 的方法为:
  1.         protected override void Render(HtmlTextWriter writer)
  2.         {
  3.             Table cmdtb = this.FpSpread1.FindControl("FpSpread1_cmdTable") as Table;

  4.             base.Render(writer);
  5.         }
复制代码


前台结点结构:

Untitled.png

通过以上方法相信应该可以实现了,有问题我们继续沟通。
回复 使用道具 举报
nangcat
注册会员   /  发表于:2014-9-12 08:05:00
板凳
复杂啊,有点高深
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-9-12 17:20:00
地板
回复 3楼nangcat的帖子

我这边可以制作一个简单的示例 demo 给您,做好后会上传到论坛。
回复 使用道具 举报
nangcat
注册会员   /  发表于:2014-9-14 21:18:00
5#
非常感谢!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-9-15 15:16:00
6#
回复 5楼nangcat的帖子

后台代码:

  1.         protected void Page_Load(object sender, EventArgs e)
  2.         {
  3.             if (IsPostBack)
  4.             {
  5.                 return;
  6.             }

  7.             this.FpSpread1.Sheets.Count = 2;
  8.         }

  9.         protected override void Render(HtmlTextWriter writer)
  10.         {
  11.             Table cmdtb = this.FpSpread1.FindControl("cmdTable") as Table;
  12.             int sheetCount = this.FpSpread1.Sheets.Count;

  13.             for (int i = 0; i < sheetCount; i++)
  14.             {
  15.                 cmdtb.Rows[0].Cells[i * 2 + 1].Attributes.Add("onclick", "test(" + i.ToString() + ");" + "document.getElementById('FpSpread1').CallBack('SelectView,"+i.ToString()+"');return false;");
  16.             }
  17.             base.Render(writer);
  18.         }
  19.     }
复制代码


前台代码:

  1.     <script type="text/javascript">
  2.         function test(arg1) {
  3.             alert(arg1);
  4.         }
  5.     </script>
复制代码


"test(" + i.ToString() + ");"  用于传递当期点击Sheet Index 到前台。
"document.getElementById('FpSpread1').CallBack('SelectView,"+i.ToString()+"');return false;"用户切换 Sheet。

为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢

评分

参与人数 1满意度 +5 收起 理由
nangcat + 5 谢谢

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部