# [Editable uitable] Calculate result based on user input

3 visualizzazioni (ultimi 30 giorni)
Filipe il 6 Gen 2021
Commentato: Filipe il 6 Gen 2021
Hi there,
I have created a uitable in GUI. Consists on a nx3 table. The first two columns (A,B) are user input. The third should be the result of a computation (C=A*B). How can I manage to achieve this? This is my current code, in which I initialy input random values.
Thanks a lot,
Filipe
function MyTable
f = figure('Position',[300 300 3000 400]);
% Column names and column format
columnname = {'A','B','C'};
columnformat = {'bank','bank','bank'};
% Define the initial displayed data
d = {randi([0 10],1,1) randi([0 10],1,1) randi([0 10],1,1);}; % I guess this is my first mistake because the third column should be already the result of a computation but I don't know how to do it
% Create the uitable
hTable = uitable(f,'Position',[0 0 3000 400],'Data', d,...
'ColumnName', columnname,...
'ColumnFormat', columnformat,...
'ColumnEditable', [true true false],... % I set the last to false since it is not supposed to be editable.
'RowName',[]);
get(hTable,'Data')
end
##### 2 CommentiMostra NessunoNascondi Nessuno
Walter Roberson il 6 Gen 2021
Modificato: Walter Roberson il 6 Gen 2021
d = {randi([0 10],1,1) randi([0 10],1,1)};
d{3} = d{1} .* d{2};
Beyond that, you need a CellEditCallbackFcn parameter in the uitable() call to update d{3} based upont he current d{1} and d{2}
Filipe il 6 Gen 2021
Thanks for your answer Walter. I was already able to solve the first part fo my problem. However, I'm quite new to GUI's and the uitable function. Could you tell me how to implement a CellEditCallbackFcn parameter in the uitable()? Maybe with a simple example? Thanks once again,
Filipe

Accedi per commentare.

### Risposte (1)

Maximilian Schönau il 6 Gen 2021
Right click on your table, --> Callbacks --> Add CellEditCallback
This will create a subsection in your app code. Whenever a cell is edited by the user, this function will run.
So you can use this Callback to calculate the result of the table inputs and update the table accordingly.
##### 1 CommentoMostra -1 commenti meno recentiNascondi -1 commenti meno recenti
Filipe il 6 Gen 2021
Thanks a lot. I think it's solved!

Accedi per commentare.

### Categorie

Scopri di più su Discrete Math in Help Center e File Exchange

R2020b

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by