欢迎光临散文网 会员登陆 & 注册

2020-07-25 MATLAB App Designer——表格的logical选择

2020-07-26 06:48 作者:-何其-  | 我要投稿

1.实现目的:

(1)选择含列“T/F”的单元格

1)选择含列“T/F”的单元格设置为真,若所在列“时程”的同行单元格为空则选中为真,若所在列“时程”的同行单元格为真则选中为真;

2)选择含列“T/F”的单元格设置为空,若所在列“时程”的同行单元格为空则选中为空,若所在列“时程”的同行单元格为真则选中为真;

(2)选择含列“时程”的单元格

1)选择含列“时程”的单元格设置为真,所在列“T/F”的同行单元格值不变;

2)选择含列“时程”的单元格设置为空,所在列“T/F”的同行单元格值为空;

2.效果图

3.回调函数

1.    function [sourceData]=ifun_TableDataValueChangedFcn(app,BridgeNamesCacluateSyms,sourceData)  

2.    IDUnSameCell = ~eq(cell2mat(sourceData(:,[1,5:end])),...  

3.        cell2mat(BridgeNamesCacluateSyms(:,[1,5:end])));  

4.    if max(max(IDUnSameCell))==1 % 存在更新的内容  

5.        if max(max(IDUnSameCell(:,1))==1)==1  % T/F 选中  

6.            RowIDUnSameCell=IDUnSameCell(:,1)==1;  % 获取更改行  

7.            if max(cell2mat(sourceData(RowIDUnSameCell,5:end)))~=1  % 操作后工作簿列均为空  

8.                sourceData(RowIDUnSameCell,5:end)={1};  

9.            end  

10.       else % 工作簿列  

11.           RowIDUnSameCell=(max(IDUnSameCell(:,2:end),[],2)==1);  % 获取更改行  

12.           if max(cell2mat(sourceData(RowIDUnSameCell,5:end)))~=1  % 操作后工作簿列均为空  

13.               sourceData(RowIDUnSameCell,1)={0};  

14.           end  

15.       end  

16.   end  

17.   end  


2020-07-25 MATLAB App Designer——表格的logical选择的评论 (共 条)

分享到微博请遵守国家法律