Azzera filtri
Azzera filtri

Row Editable in Table...?

17 visualizzazioni (ultimi 30 giorni)
suraj mate
suraj mate il 27 Feb 2024
Modificato: Voss il 28 Feb 2024
I have one table in matlab in that table i want first row editable for all columns and all other Rows should not editable across all columns .
is if possible if yes how can i do it...?
  2 Commenti
Dyuman Joshi
Dyuman Joshi il 28 Feb 2024
I asked the same to the MATLAB Central AI Chat Playground and it said the following -
To make the first row editable and all other rows non-editable in a MATLAB table, you can use the uitable function along with the CellEditCallback property. Here's an example:
% Create a sample table
data = {'John', 25, 'USA'; 'Emily', 30, 'UK'; 'Michael', 35, 'Australia'};
columnNames = {'Name', 'Age', 'Country'};
table = uitable('Data', data, 'ColumnName', columnNames);
% Set the CellEditCallback property
set(table, 'CellEditCallback', @(src, event) editCallback(src, event));
% Callback function to handle cell editing
function editCallback(src, event)
% Get the row and column indices of the edited cell
row = event.Indices(1);
col = event.Indices(2);
% Allow editing only for the first row
if row == 1
% Allow editing
src.Data{row, col} = event.NewData;
else
% Revert to the previous value
src.Data{row, col} = event.PreviousData;
end
end
Voss
Voss il 28 Feb 2024
Modificato: Voss il 28 Feb 2024
That seems like a potentially viable workaround.
Of course, since the default for uitable is that no columns are editable, you'd have to change that for the CellEditCallback to have any effect, e.g.:
% Set the ColumnEditable and CellEditCallback properties
set(table, ...
'ColumnEditable', true, ...
'CellEditCallback', @(src, event) editCallback(src, event));

Accedi per commentare.

Risposte (0)

Categorie

Scopri di più su Migrate GUIDE Apps in Help Center e File Exchange

Tag

Prodotti


Release

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by