1. Add버튼을 클릭 → 파일 불러오기 대화상자 팝업
% 대화상자 열기 getlayer = uigetfile('C:\Users\yj.jo\OneDrive - CSI-Vision\바탕 화면\Project\'); if getlayer == 0 % 만약 파일이 x면 return return; end |
2. 파일을 불러온 후 .mat파일을 테이블의 형태로 변경
loaded_data = load(getlayer); % 데이터 불러오기 dataTable = struct2table(loaded_data); % 불러온 mat파일을 테이블형태로 바꿈 layername = string(dataTable.Properties.VariableNames(1)); % layer 이름 정의 |
3. 기존 테이블에서 Layer Name만 추출 → uitable() 함수를 통해 새로운 테이블을 생성한 후 Layer Name을 가져옴
→ 나머지 Column명은 수정이 가능하도록 변경 (char, char, char, logical)
data = {layername{1}, '1', '0', '0', true(1)}; data{5} = logical(data{5}); columnNames = {"Layer Name", "Thickness", "pitch", "height", "fit"}; |
4. 새로운 데이터를 추가할수 있도록 함
% 이전 데이터를 유지하고 새로운 데이터 추가 if isempty(app.UITable2.Data) % Table이 비어있는 경우 app.UITable2 = uitable(app.ModelPanel, "Data", data, "ColumnName",columnNames,'ColumnEditable',true, ... 'Position',[0,1,430,326]); else currentData = app.UITable2.Data; newData = data; tb = [currentData; newData]; app.UITable2.Data = tb; end |
tip: table 내 data의 수정은 table() 함수가 아니라, uitable() 함수를 이용해야 함
( 'ColumnEditable', true 라는 option을 uitable()만 사용할 수 있음)