找回密码
 立即注册

QQ登录

只需一步,快速开始

ghostlyt

初级会员

18

主题

76

帖子

214

积分

初级会员

积分
214

活字格认证微信认证勋章

ghostlyt
初级会员   /  发表于:2015-11-26 20:16  /   查看:9255  /  回复:10
版本:Spread For WinForms 7.0J
现象:
某一列的CellType设为ComboBox类型,且为可编辑模式。
为了方便取得所选值的索引,将EditorValue设为了Index。
现在如果输入一个不在列表里存在的值,那么输入完成后所输入的内容会被清掉。
猜想是输入不存在的值会将该单元格的Value变为-1,导致输入内容被清空。

有没有办法既可以实现保留所输入的值不被清空,
又可以实现从单元格的Value属性取得当前选择项目的索引?

10 个回复

倒序浏览
frank.zhang
社区贡献组   /  发表于:2015-11-27 16:14:00
沙发
您好,

实现的思路是在fpSpread1_EditModeOn中保存这个单元格的值,fpSpread1_EditModeOff事件中,对这个单元格的新值进行判断。
回复 使用道具 举报
ghostlyt
初级会员   /  发表于:2015-11-27 19:16:00
板凳
回复 2楼frank.zhang的帖子

现象是这样的:
假设ComboBox列表里有A1,B1,C1三个项目;
我输入一个A后焦点离开此单元格,那么ComboBox会自动的选择A1这个项目;
但是当我输入一个D,显然列表中并没有符合条件的项目,Spread会就把输入的D清掉变为空。
现在是想在结束编辑后输入的D能够保留。
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-11-30 18:08:00
地板
您好,

可以尝试使用fpSpread1_EditModeOn做处理,您可以先尝试下,如果在制作的过程中有问题可以随时联系我们。
回复 使用道具 举报
ghostlyt
初级会员   /  发表于:2015-11-30 18:37:00
5#
EditModeOn事件并不能解决问题。
最终是将EditorValue改为了String,使其可以接受任意输入值;
取Value时做了一个共通方法来根据字符串取得对应的Index值。
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-12-1 17:03:00
6#
您好。

需要您提供一个例子程序,我这边验证下。
回复 使用道具 举报
ghostlyt
初级会员   /  发表于:2015-12-1 20:51:00
7#
回复 6楼frank.zhang的帖子

示例代码如下:

SpreadSample.zip (10.77 KB, 下载次数: 355)
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-12-2 15:25:00
8#
您好,

您的问题已经收到,我们验证后给您回复。由于验证需要一些时间,可能1到2个工作日,希望耐心等候。
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-12-4 17:14:00
9#
您好,

非常抱歉。
这个问题经过验证,ComboBox不能够支持这种方式。因为,ComboBox在设计的时候,就是按照key和value进行绑定的,如果增加一个可以编辑的key,这个是无法对应到后台的。后台整体的代码逻辑都会收到影响,所以不能够支持。
回复 使用道具 举报
ghostlyt
初级会员   /  发表于:2015-12-9 08:26:00
10#
回复 9楼frank.zhang的帖子

好的,了解。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部