有办法编辑自己的一个可编辑的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;
结束
接受的答案
克里斯·拉皮埃尔
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。项=物品;