找回密码
 立即注册

QQ登录

只需一步,快速开始

SM-张丹红

注册会员

3

主题

6

帖子

27

积分

注册会员

积分
27
  • 99

    金币

  • 3

    主题

  • 6

    帖子

最新发帖
SM-张丹红
注册会员   /  发表于:2023-5-11 11:51  /   查看:1798  /  回复:5
1金币
Dim cmbocell As New GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType()
Dim listitem As New GrapeCity.Win.Spread.InputMan.CellType.ListItemInfo
listitem.Text = "ァイル移送"
listitem.SubItems.Add("0")
cmbocell.Items.Add(listitem)
listitem = New GrapeCity.Win.Spread.InputMan.CellType.ListItemInfo
listitem.Text = "定数"
listitem.SubItems.Add("1")
cmbocell.Items.Add(listitem)

SPD.Cells(0, 5).CellType = cmbocell

1.上述CellType设定后,在另外一个Button按下后,如何取得选择项的SubItem的值?
2.如何取得SPD.Cells(0, 5)中的控件?也就是取得GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxEditingControl类型的控件。

拜托。



5 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-5-11 14:40:11
沙发
和你设置的时候是一样的,SPD.Cells(0, 5).CellType获取到的就是这个celltype

下面提供的是C#代码,对应的vb代码你可以看一下怎么写

  1. GcComboBoxCellTypecombo=fpSpread1.ActiveSheet.Cells[1, 2].CellType as GcComboBoxCellType
复制代码
回复 使用道具 举报
SM-张丹红
注册会员   /  发表于:2023-5-11 20:32:02
板凳
本帖最后由 SM-张丹红 于 2023-5-11 20:38 编辑


谢谢版主回答,但是没有解决我的问题,通过celltype取出来的对象是GcComboBoxCellType,是无法取得SelectedItem,我再贴一张图片上来,红色为CellType编译不过的地方。
蓝色是在EditChange事件中通过EditControl能够拿到GcComboBox控件,能够获取到SelectedItem的,但我的处理是在其他地方需要遍历Grid中的GcComboBox列,获取到每个单元格选择了的Item。
麻烦版主再帮我看看,谢谢了。

109c1c157ea84855ca256070a2d2886.png306655577.png
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-5-12 09:26:47
地板
明白了,可以这样试试

  1.             var cbx = fpSpread1.ActiveSheet.Cells[1, 1].CellType as GcComboBoxCellType;
  2.             var ctl = cbx.GetEditorControl(new FarPoint.Win.Spread.Appearance(), 1) as GcComboBoxEditingControl;
复制代码
回复 使用道具 举报
SM-张丹红
注册会员   /  发表于:2023-5-15 09:50:16
5#
Richard.Ma 发表于 2023-5-12 09:26
明白了,可以这样试试

感谢版主,comboBox控件已经可以正常取得了。
但是,给SelectedValue赋值后,comboBox的选择项目没有变化,感觉是Spread刷新,下面是我设置的代码,麻烦版主帮忙给指导。

Dim ctl As GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxEditingControl = cbx.GetEditorControl(New FarPoint.Win.Spread.Appearance(), 1)

        ctl.TextSubItemIndex = 0
        ctl.ValueSubItemIndex = 1
        ctl.SelectedValue = setVal
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-5-15 10:18:24
6#
这个就不确定了,因为实际上编辑器本身就是在进入编辑状态时,才初始化出来的,

换句话说目前获取到的这个ctl实际上可能并不是编辑时真实的ctl,这块没法给你提供更多的帮助了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部