MATLAB-利用下拉框进行搜索查询,并把搜索后的结果打印到edit控件上

2022/5/22 23:05:13

本文主要是介绍MATLAB-利用下拉框进行搜索查询,并把搜索后的结果打印到edit控件上,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

以内部材料为例

image

先是在下拉框里面设置参数 然后在“查询”按钮里面写代码

代码:

list2=get(handles.popupmenu2,'String');
list3=get(handles.popupmenu3,'String');
list4=get(handles.popupmenu4,'String');
list5=get(handles.popupmenu5,'String');
val1=get(handles.popupmenu1,'String');%颗粒类型
val2=get(handles.popupmenu2,'Value');%颗粒类型
val3=get(handles.popupmenu3,'Value');%冲击角度
val4=get(handles.popupmenu4,'Value');%温度
val5=get(handles.popupmenu5,'Value');%压力
A1=val1;%颗粒类型
A2=num2str(list2{val2});%颗粒类型
A3=num2str(list3{val3});%冲击角度
A4=num2str(list4{val4});%温度
A5=num2str(list5{val5});%压力
sqldata=load('data.mat');
sqldata=struct2cell(sqldata);
sqldata=sqldata{1,1};
B=sqldata(1:25,:);
flag=0;
num=[];
for i=1:25
   if strcmp(A1,B{i,4}) && strcmp(A2,B{i,5}) && strcmp(A3,B{i,6}) && strcmp(A4,B{i,7}) && strcmp(A5,B{i,8}) 
       num=[num;i];
       flag=1;
   end
end
if length(num)==1
    set(handles.edit8,'String',B{num(1),1});%组别
    set(handles.edit9,'String',B{num(1),10});%磨损量
    set(handles.edit10,'String',B{num(1),11});%磨损率
    set(handles.edit11,'String',B{num(1),9});%冲击时间
end
if length(num)>1
    m=length(num);
    c=num2str(B{num(1),1});%组别
    d=B{num(1),10};%磨损量
    e=B{num(1),11};%磨损率
    f=B{num(1),9};%冲击时间
    for j=2:m
        c=strcat(c,'/');
        c=strcat(c,num2str(B{num(j),1}));
        d=strcat(d,'/');
        d=strcat(d,B{num(j),10});
        e=strcat(e,'/');
        e=strcat(e,B{num(j),11});
        f=strcat(f,'/');
        f=strcat(f,B{num(j),9});
    end
    set(handles.edit8,'String',c);%组别
    set(handles.edit9,'String',d);%磨损量
    set(handles.edit10,'String',e);%磨损率
    set(handles.edit11,'String',f);%冲击时间
end
if flag==0
    errordlg('没有查找到该数据','错误');%内容,标题
end

查询结果:

1.单行数据(先拿PAT展示)

image

2.多行数据

image

3.没有数据

image

解析

因为数据有多行 并且需要按照特定的格式进行输出 因为定义了一个变量num来统计匹配的个数

get(handles.popupmenu2,'String')

上面这个是用来获取popupmenu里面所有的参数 返回string类型

get(handles.popupmenu2,'Value')

这个是获取popupmenu里面选择的值的索引 返回1、2、3、4、5...。这种

image

根据索引就可以找出对应的下拉框显示的值

image

来进行匹配判断

image

个数为1直接打印 个数超过1 按照不同的格式打印



这篇关于MATLAB-利用下拉框进行搜索查询,并把搜索后的结果打印到edit控件上的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程