找回密码
 立即注册

QQ登录

只需一步,快速开始

918739xhb

论坛元老

4

主题

20

帖子

4510

积分

论坛元老

积分
4510

活字格认证

QQ
918739xhb
论坛元老   /  发表于:2012-11-14 15:23  /   查看:6429  /  回复:5
1.加载一个页面的时候判断某一列是什么类型,如果是时间类型,则将该列的数据类型设置为时间控件,如果是下拉列表可选择的则加载下拉列表Tree 类型。
2.当点击一个单元格的时候判断,点击的单元格的数据类型,如果是时间类型的话显示时间选择的控件,如果是下载列表类型,则动态的给下拉列表中的Tree 赋值,并且显示这个下拉列表Tree。
我做了一个demo遇到了一些问题,如何通过双击事件给下拉Tree赋值,如将赋值后的下拉tree显示和时间控件显示。
今天demo 无法上传了,只能发到邮箱里面,希望版主帮着看一下,谢谢了

5 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-11-14 16:48:00
沙发
918739xhb 你好

你的这个需求只需设置通过设置CellType 为 DateCalendarCellType 或者 ComboBoxCellType就可以。

  1.             if (!IsPostBack)
  2.             {
  3.                 this.FpSpread1.ActiveSheetView.RowCount = 15;
  4.                 this.FpSpread1.ActiveSheetView.PageSize = 3;
  5.                
  6.                 FarPoint.Web.Spread.Extender.DateCalendarCellType dcct = new FarPoint.Web.Spread.Extender.DateCalendarCellType();
  7.                 dcct.DateFormat = "yyyy年MM月dd日";               
  8.                 FpSpread1.ActiveSheetView.Columns[0].CellType = dcct;

  9.                 FarPoint.Web.Spread.ComboBoxCellType cbct = new FarPoint.Web.Spread.ComboBoxCellType();
  10.                 cbct.Items = new string[] { "AAA","BBB","CCC"};
  11.                 FpSpread1.ActiveSheetView.Columns[1].CellType = cbct;
  12.             }
复制代码

2714c.zip (5.37 MB, 下载次数: 271)
回复 使用道具 举报
918739xhb
论坛元老   /  发表于:2012-11-14 17:00:00
板凳
回复 2楼dof的帖子

我是想通过双击事件的时候加载下拉列表的值,如果初始化加载数据量大的情况下会很慢,所以考虑双击之后加载数据显示。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-11-14 17:27:00
地板
918739xhb 你好

你这个需求实现起来比较复杂,而且就算实现了“在双击时加载数据”,这种做法每次双击单元格都会一个延时,而且需要的时间和你在初始化时加载所需时间应该是一样的吧。

如果下拉列表的数据量很大,我建议使用弹出一个新窗体显示可选择的数据,而不是直接用下拉列表显示
回复 使用道具 举报
918739xhb
论坛元老   /  发表于:2012-11-15 14:53:00
5#
回复 4楼dof的帖子

那可以弹出一个层,在层中显示Tree数据,然后将选中的数据的值赋给该单元格?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-11-15 16:24:00
6#
这里有一篇类似功能实现方法的文章,你可以先参考一下:http://gcdn.grapecity.com/showtopic-5083.html
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部