1
ユーザーが入力をリストに追加または削除できるようにする関数を作成しています。この場合、uitable。 (Matlab) 実際、以下のコードは草案であり、アイデアを考えています。 誰も同じような例を知っていますか?uitableを使用して行列内の文字を取得する方法
(edit_com:削除:delete_com、追加)
% to add an input to a list
function edit_com_Callback(hObject, eventdata, handles)
value = get(handles.insert_com, 'String'); %user input (char)
data = get(handles.uitable1, 'Data') % read table matrix
data(end+1,:) = 0; % add below the data matrix sequently.
% this is for test and I want to put an char input instead of numbers.
set(handles.uitable1, 'Data',data);
% cell selection function before a delete function
function uitable1_CellSelectionCallback(hObject, eventdata, handles)
% no selection
if (numel(eventdata.Indices) == 0)
% only one selected
elseif (numel(eventdata.Indices) == 1)
set(handles.delete_com, 'Enable', 'on'); % "delete" buttion activate
selected_com = eventdata.Indices(1); % read currently selected row
set(handles.edit_com, 'UserData', selected_com);
% more than 2 selected
else
set(handles.delete_come, 'Enable', 'on'); % "delete" buttion activate
selected_com = eventdata.Indices(:,1); % read currently selected rows
set(handles.edit_com, 'UserData', selected_com);
end
% deletion part
function delete_com_Callback(hObject, eventdata, handles)
if get(handles.edit_com, 'UserData') ==0 % none selected
else if get(handles.edit_com, 'UserData') ==1 % one selected
data = get(handles.uitable1, 'Data') %
data(row_1,:)=[]; % delete
else % more than one selected
data = get(handles.uitable1, 'Data')
data(row_2,:)=[]; % delete them
end
は、最初は(ユーザデータによって分離された)細胞から複数のセルを分離し、それらを分離します。私はちょうど選択されている列を把握しようとしている、私は関数からそれを消去しようとします。 は文字で構成されており、セルの処理方法はわからないため、扱いにくいです。始めるにはどうすればいいですか?