有办法编辑自己的一个可编辑的uidropdown物品,多种物品可以是相同的价值在哪里?

47个视图(30天)
我做了一个简单的例子来演示我的问题。有一个方法是这样的:
无花果= uifigure;
下拉= uidropdown(图,“可编辑”,“上”);
dropdown.Items= [“Test_1”,“Test_2”,“Test_3”,“Test_3”];
下拉。事件ValueChangedFcn = @ (src) example_function (src、事件);
函数example_function (src、事件)
%目前类似于我的理解这是没有实现,没有一个解决方案
%在这个特殊usecase多个相同物品的地方
%的一个实例uidropdown(为什么一个解决方案可能不可能)
%有理由这样不是实现:
%下拉。项目{selected/clicked on} -> event.IndexOfClickedItem: ["Test_1"->1, "Test_2"->2, "Test_3"->3, "Test_3"->4]
指数= event.IndexOfClickedItem;
src。项{指数}= src.Value;
结束
2的评论
乔纳斯·舒兹
乔纳斯·舒兹 2023年5月30日19:32
编辑:乔纳斯·舒兹 2023年5月30日19:43
与ItemsData我已经试过,但没有一个具体的方式去访问所需的索引和最后你得到同样的问题描述。我试着解决方案使用ItemsData但最后它不会工作,因为可以有多个相同的物品。或者有类似src.ItemsData。ValueChangedFcn价值吗?

登录置评。

接受的答案

克里斯·拉皮埃尔
克里斯·拉皮埃尔 2023年5月30日20:11
编辑:克里斯·拉皮埃尔 2023年5月30日在二十20
有一种方法可以做到这一点。建议使用 ItemsData 财产。你需要首先定义这在创建你的掉下来。在内部, src 事件 值的对应值 ItemsData 财产。
无花果= uifigure;
下拉= uidropdown(图,“可编辑”,“上”);
dropdown.Items= [“Test_1”,“Test_2”,“Test_3”,“Test_3”];
%定义ItemsData房地产项目为每个元素的值。
dropdown.ItemsData = 1:4;
下拉。事件ValueChangedFcn = @ (src) example_function (src、事件);
函数example_function (src、事件)
指数= event.Value;
src。项{指数}= src.Value;%确定这句话是做你想要的
结束
函数中的最后一行代码将生成一个错误。我相信你必须更换整个数组的物品,而不只是单个值。我认为你要做的,你要做的步骤。这看起来像这样:
项= src.Items;
项{指数}= num2str (src.Value);
src。项=物品;
6个评论
乔纳斯·舒兹
乔纳斯·舒兹 2023年5月31日在10:51
编辑:乔纳斯·舒兹 2023年5月31日10:57
对不起,这的确是所描述的工作。非常非常感谢!我不是电脑,只看到了
event.PreviousValue
我也打过一点。谢谢你!我只有测试活动。PreviousValue没有ItemsData财产但是ItemsData财产它像预期。

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!