找回密码
 立即注册

QQ登录

只需一步,快速开始

918739xhb

论坛元老

4

主题

20

帖子

4510

积分

论坛元老

积分
4510

活字格认证

QQ
918739xhb
论坛元老   /  发表于:2012-10-25 14:47  /   查看:10304  /  回复:10
我用的是Farpoint4.0版本,要实现的功能就是点击单元格,判断所属列的数据类型添加相应的控件(下拉列表
Tree或者时间控件)

10 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-10-25 15:09:00
沙发
回复 1楼918739xhb的帖子

请问你使用的是 WinForm 还是 ASP.NET 平台?
回复 使用道具 举报
918739xhb
论坛元老   /  发表于:2012-10-25 15:14:00
板凳
我们用的是web版
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-10-25 16:18:00
地板
回复 3楼918739xhb的帖子

你好,
通过前台点击事件 CallBack 到后台可以使用以下方法:

  1. <script language="javascript" type="text/javascript" id="FpSpread1_Script0">
  2.         function FpSpread1_ActiveCellChanged(event) {
  3.             var spread = this.document.getElementById("<%=FpSpread1.ClientID %>");
  4.             spread.CallBack("Button");
  5.         }
  6.     </script>
复制代码

后台通过 ButtonCommand 事件接收,后台代码:

  1. protected void FpSpread1_ButtonCommand(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e)
  2.         {
  3.             int col = e.SheetView.ActiveColumn;
  4.             string type = "";
  5.             if (this.FpSpread1.ActiveSheetView.Columns[col].CellType != null)
  6.             {
  7.                 type = this.FpSpread1.ActiveSheetView.Columns[col].CellType.ToString();
  8.             }
  9.             switch (type)
  10.             {
  11.             }
  12.         }
复制代码

设置单元格类型:
1.下拉列表:ComboBoxCellType
2.Tree 需要自定义:http://gcdn.grapecity.com/showtopic-3028.html
2.时间控件:DateCalendarCellType -http://gcdn.grapecity.com/showtopic-3038.html
回复 使用道具 举报
918739xhb
论坛元老   /  发表于:2012-10-26 10:47:00
5#
回复 4楼iceman的帖子

您说的这种方法我试了但是遇到一些问题,每次取到的都是第一点击单元格的行和列
  1.   <script language="javascript" type="text/javascript">
  2.        function cellclick() {
  3.            FpSpread1_ActiveCellChanged(event);
  4.        }
  5.        function FpSpread1_ActiveCellChanged(event) {
  6.            var spread = this.document.getElementById("<%=FpSpread1.ClientID %>");
  7. //           spread.CallBack("Button");
  8.        }
  9.     </script>
复制代码

后台代码
  1. protected void FpSpread1_ButtonCommand(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e)
  2.     {
  3.         int rownum = e.SheetView.ActiveRow;
  4.         int colnum = e.SheetView.ActiveColumn;
  5.         ExtDatePickCellType Date = new ExtDatePickCellType("FpSpread1");
  6.         Date.HtcPath = "ExtDatePicker.htc";
  7.         FpSpread1.Sheets[0].Cells[rownum, colnum].Text = "2010-12-15";
  8.         FpSpread1.Sheets[0].Cells[rownum, colnum].CellType = Date;
  9.     }
复制代码
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-10-26 16:39:00
6#
回复 5楼918739xhb的帖子

918739xhb 你好,
不好意思,我通过你的描述没办法重现问题。
ExtDatePickCellType 是自定义实现“时间控件”单元格类型吧?为什么不使用 “DateCalendarCellType ” 呢?
能否请你发个 Demo 过来看看。
回复 使用道具 举报
918739xhb
论坛元老   /  发表于:2012-10-29 09:26:00
7#

测试用的DEMO

回复 6楼iceman的帖子


1.现在这个demo出现一个问题, 我在点击第一个单元格的时候,可以获取第一个单元格的行和列,在点击其他单元格的时候取到的还是第一个单元格的行数和列数
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-10-29 15:03:00
8#
回复 7楼918739xhb的帖子

918739xhb 你好,
Demo 中只有一个 sln 文件,我无法使用。
回复 使用道具 举报
918739xhb
论坛元老   /  发表于:2012-10-29 15:47:00
9#

DEMO 无法上传

回复 8楼iceman的帖子

不好意思我上传错误了,我在上传,提示今天可以上传0.99MB,无法上次DEMO。只能等明天在上传文件
回复 使用道具 举报
918739xhb
论坛元老   /  发表于:2012-10-30 09:09:00
10#
回复 9楼918739xhb的帖子

问题已解决,感谢您的耐心解答!
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部