GcComboBox 获取选择项的SubItem的值
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类型的控件。
拜托。
和你设置的时候是一样的,SPD.Cells(0, 5).CellType获取到的就是这个celltype
下面提供的是C#代码,对应的vb代码你可以看一下怎么写
GcComboBoxCellTypecombo=fpSpread1.ActiveSheet.Cells.CellType as GcComboBoxCellType 本帖最后由 SM-张丹红 于 2023-5-11 20:38 编辑
谢谢版主回答,但是没有解决我的问题,通过celltype取出来的对象是GcComboBoxCellType,是无法取得SelectedItem,我再贴一张图片上来,红色为CellType编译不过的地方。
蓝色是在EditChange事件中通过EditControl能够拿到GcComboBox控件,能够获取到SelectedItem的,但我的处理是在其他地方需要遍历Grid中的GcComboBox列,获取到每个单元格选择了的Item。
麻烦版主再帮我看看,谢谢了。
明白了,可以这样试试
var cbx = fpSpread1.ActiveSheet.Cells.CellType as GcComboBoxCellType;
var ctl = cbx.GetEditorControl(new FarPoint.Win.Spread.Appearance(), 1) as GcComboBoxEditingControl; 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 这个就不确定了,因为实际上编辑器本身就是在进入编辑状态时,才初始化出来的,
换句话说目前获取到的这个ctl实际上可能并不是编辑时真实的ctl,这块没法给你提供更多的帮助了
页:
[1]