找回密码
 立即注册

QQ登录

只需一步,快速开始

X765321

银牌会员

31

主题

99

帖子

3742

积分

银牌会员

积分
3742

活字格认证

X765321
银牌会员   /  发表于:2012-6-5 19:07  /   查看:7776  /  回复:9
http://gcdn.grapecity.com/showtopic-3513.html贴中所示有一定局限性,UpdateCommand事件数据验证比较不好处理,我的数据验证和保存是在ButtonCommand事件中完成的,不管校验是否通过还是保存是否完成两者都需要返回提示信息给客户端,请问可否有方法在ButtonCommand事件中调用客户端方法或者让CallBack返回操作结果?或者有其它方法返回校验是否通过、保存是否完成?

9 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-6-6 14:35:00
沙发
回复 1楼X765321的帖子

你好,
可以通过以下方法实现:

  1.         protected void FpSpread1_ButtonCommand(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e)
  2.         {
  3.             ClientScript.RegisterStartupScript(this.GetType(), "newwin",
  4.                 "<script type ='text/javascript'> alert('Update 按钮触发 ButtonCommand')</script>");
  5.         }

  6.         protected override void Render(HtmlTextWriter writer)
  7.         {
  8.             WebControl update = this.FpSpread1.FindControl("Update") as WebControl;
  9.             update.Attributes.Add("onclick", ClientScript.GetPostBackEventReference(FpSpread1, "Button,-1,-1") + "; return false;");
  10.             base.Render(writer);
  11.         }
复制代码
回复 使用道具 举报
X765321
银牌会员   /  发表于:2012-6-6 15:04:00
板凳
回复 2楼iceman的帖子

1.此方法和上面提到的贴子一样还是通过客户端的Update按钮去触发的,我想通过自己在客户端脚本上的某个地方调用CallBack(&quot;保存&quot;)或者CallBack(&quot;删除&quot;)触发ButtonCommand事件后在ButtonCommand事件中调用客户端函数如弹出对话框告诉用户保存或者删除操作是否完成,这达不到吗?

2.另外为什么加上下面这两句,ButtonCommand事件中就可以调用客户端脚本了。。。
WebControl update = this.FpSpread1.FindControl(&quot;Update&quot;) as WebControl;
update.Attributes.Add(&quot;onclick&quot;, ClientScript.GetPostBackEventReference(FpSpread1, &quot;Button,-1,-1&quot;) + &quot;; return false;&quot;);

3.在ButtonCommand事件中给HiddenField控件或者Lable控件赋值,客户端代码取不到这些值,如何处理?

以前一直做cs应用,因有一些应用需要更新为web的。。。问题难免幼稚。。。还望详细点说明。。。
多包涵。。。先谢过了。。。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-6-6 18:25:00
地板
X765321 你好,
楼主的问题很好,都是一些敏感的问题:
1.问题一,不好意思,目前实现不了。
2.问题二,这种用法基于 Spread 注册事件时机的问题。
3.问题三,确实存在这样的问题,目前没有成熟的解决方案。
楼主需要校验数据,建议转移到前台,请楼主参考:http://gcdn.grapecity.com/showtopic-2563.html
回复 使用道具 举报
X765321
银牌会员   /  发表于:2012-6-7 10:05:00
5#
结贴吧。。。纠结了这个问题许久。。。也烦了版主大人许久。。。如果谁有更好的解决方法请不吝赐教。。。。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-6-7 10:09:00
6#
回复 5楼X765321的帖子

不好意思,没有帮到什么。在 Spread 使用方面有问题欢迎继续交流。
回复 使用道具 举报
X765321
银牌会员   /  发表于:2012-6-7 10:14:00
7#
已经帮了很多了,这么说让我多惭愧:!,我只是一直做C\S的问的问题难免比较没头没脑,总以为C\S上很容易达到的Web上一定能实现,没想要走这么大的弯路。。。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-6-7 10:23:00
8#
回复 7楼X765321的帖子

熟能生巧,加油~
回复 使用道具 举报
X765321
银牌会员   /  发表于:2012-6-7 11:50:00
9#
顺便问下,spread4支持的浏览器,spread5和spread6呢?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-6-7 12:22:00
10#
回复 9楼X765321的帖子

Spread 支持 IE 6 及以后 IE 版本、Firefox、Safari、Chrome 等,详细可以参考帮助文档:Understanding Browser Support 章节。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部