找回密码
 立即注册

QQ登录

只需一步,快速开始

wjj_123

银牌会员

44

主题

81

帖子

2173

积分

银牌会员

积分
2173

活字格认证

wjj_123
银牌会员   /  发表于:2012-5-13 13:43  /   查看:11630  /  回复:14
就是鼠标单击一个单元格,单元格变为ComoboxCellType下拉框,双击单元格就变为TextCellType类型
怎样使用前台的js方法实现??

14 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-5-14 09:02:00
沙发

回复 1# wjj_123 的帖子

wjj_123 你好,设置方法如下:

  1.         protected override void Render(HtmlTextWriter writer)
  2.         {
  3.             Table spreadTable = this.FpSpread1.FindControl("viewport") as Table;
  4.             spreadTable.Attributes.Add("onclick", ClientScript.GetPostBackEventReference(FpSpread1, "click,-1,-1") + "; return false;");
  5.             spreadTable.Attributes.Add("ondblclick", ClientScript.GetPostBackEventReference(FpSpread1, "doubleclick,-1,-1") + "; return false;");
  6.             base.Render(writer);
  7.         }

  8.         protected void FpSpread1_ButtonCommand(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e)
  9.         {
  10.             int activerow=this.FpSpread1.Sheets[0].ActiveRow;
  11.             int activecol=this.FpSpread1.Sheets[0].ActiveColumn;
  12.             if (e.CommandName=="click")
  13.             {
  14.                 FarPoint.Web.Spread.ComboBoxCellType comboCellType = new FarPoint.Web.Spread.ComboBoxCellType();
  15.                 comboCellType.ShowButton = true;
  16.                 this.FpSpread1.Sheets[0].Cells[activerow, activecol].CellType = comboCellType;
  17.             }
  18.             if (e.CommandName=="doubleclick")
  19.             {
  20.                 FarPoint.Web.Spread.TextCellType textCellType = new FarPoint.Web.Spread.TextCellType();
  21.                 textCellType.ShowEditor = true;
  22.                 this.FpSpread1.Sheets[0].Cells[activerow, activecol].CellType = textCellType;
  23.             }
  24.         }
复制代码
回复 使用道具 举报
wjj_123
银牌会员   /  发表于:2012-5-14 10:20:00
板凳

怎么没效果啊!!!

没效果啊,请指教!!
回复 使用道具 举报
wjj_123
银牌会员   /  发表于:2012-5-14 11:22:00
地板
怎样在前台用js实现此效果,在Button_Command里随便点一下鼠标页面就回发一次
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-5-14 12:03:00
5#

回复 3# wjj_123 的帖子

楼主请确认是否添加 Spread 后台 ButtonCommand 事件?
回复 使用道具 举报
wjj_123
银牌会员   /  发表于:2012-5-14 12:39:00
6#
添加了Button_Command事件,但是我的鼠标随便点一下页面就刷新即使不对着单元格
我想问在前台用js能通过单击或双击某一单元格改变单元格类型吗?
请赐教!!!!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-5-14 13:36:00
7#

回复 6# wjj_123 的帖子

楼主可以在前台抓取相应的节点,
在节点的 onclick 事件中添加

  1. FpSpread1.CallBack("click,-1,-1");
复制代码

在节点的 ondblclick 事件中添加

  1. FpSpread1.CallBack("doubleclick,-1,-1");
复制代码

后台代码:

  1. protected void FpSpread1_ButtonCommand(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e)
  2.         {
  3.             int activerow=this.FpSpread1.Sheets[0].ActiveRow;
  4.             int activecol=this.FpSpread1.Sheets[0].ActiveColumn;
  5.             if (e.CommandName=="click")
  6.             {
  7.                 FarPoint.Web.Spread.ComboBoxCellType comboCellType = new FarPoint.Web.Spread.ComboBoxCellType();
  8.                 comboCellType.ShowButton = true;
  9.                 this.FpSpread1.Sheets[0].Cells[activerow, activecol].CellType = comboCellType;
  10.             }
  11.             if (e.CommandName=="doubleclick")
  12.             {
  13.                 FarPoint.Web.Spread.TextCellType textCellType = new FarPoint.Web.Spread.TextCellType();
  14.                 textCellType.ShowEditor = true;
  15.                 this.FpSpread1.Sheets[0].Cells[activerow, activecol].CellType = textCellType;
  16.             }
  17.         }
复制代码
回复 使用道具 举报
wjj_123
银牌会员   /  发表于:2012-5-14 14:00:00
8#
怎样取得节点啊,我不懂!!,拜托赐教!!!!!再具体点!!!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-5-14 15:47:00
9#

回复 8# wjj_123 的帖子

楼主你好,假设 testDiv 为目标节点 ID ,设置方法如下:

  1.     <script type="text/javascript">
  2.         window.onload = function () {
  3.             var targetNode = this.document.getElementById("testDiv");
  4.             if (document.all) {
  5.                 targetNode.attachEvent("onclick", test1);
  6.                 targetNode.attachEvent("ondblclick", test2);
  7.             }
  8.         }
  9.         function test1() {
  10.             FpSpread1.CallBack("click,-1,-1");
  11.         }
  12.         function test2() {
  13.             FpSpread1.CallBack("doubleclick,-1,-1");
  14.         }
  15.     </script>
复制代码
回复 使用道具 举报
wjj_123
银牌会员   /  发表于:2012-5-14 16:13:00
10#
运行js报错说无法获取attachEvent的值怎么回事???
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部