Widgets Toolbox jTable cell value issue

Hi, I have 2 tables created using widgets toolbox table function. When I click on a cell value on first table and move to the second table cell, the value on the first table cell automatically changes to the value of the cell from the 2nd table. Following code section demonstrates the issue. Wondering if anyone has run into this issue and if there is a fix for this. The table function works fine as long as there is only a single table.
f1 = figure(...
'Toolbar','none',...
'MenuBar','none',...
'NumberTitle','off',...
'Units','pixels',...
'Position',[100 100 880 200]);
movegui(f1,[100 -100])
f2 = figure(...
'Toolbar','none',...
'MenuBar','none',...
'NumberTitle','off',...
'Units','pixels',...
'Position',[100 100 880 200]);
movegui(f2,[100 -500])
w1 = uiw.widget.Table(...
'Parent',f1,...
'CellEditCallback',@(h,e)disp(e),...
'CellSelectionCallback',@(h,e)disp(e),...
'ColumnName',{'A','B','C'},...
'Label','Table1:', ...
'LabelLocation','top',...
'LabelHeight',18,...
'Units','normalized', ...
'Position',[0 0 1 1]);
w1.Data = magic(3);
w2 = uiw.widget.Table(...
'Parent',f2,...
'CellEditCallback',@(h,e)disp(e),...
'CellSelectionCallback',@(h,e)disp(e),...
'ColumnName',{'A','B','C'},...
'Label','Table2:', ...
'LabelLocation','top',...
'LabelHeight',18,...
'Units','normalized', ...
'Position',[0 0 1 1]);
w2.Data = magic(3);

4 Commenti

It is likely due to an optimization where table columns of the same type are reusing the same Java editor. Can you try commenting out a few lines of uiw.enum.TableColumnFormat - lines 294 and 311-313:
Thanks Robyn. The changes seem to address the issue
With more testing, I am running into an issue if any of the columns in the table is of Popup Editor type. The change no longer allows to drop down the Popup list.
Here is the code section with first column being a Popup. When those 3 lines are commented out, dropdown option stops working
f1 = figure(...
'Toolbar','none',...
'MenuBar','none',...
'NumberTitle','off',...
'Units','pixels',...
'Position',[100 100 880 200]);
movegui(f1,[100 -100])
w1 = uiw.widget.Table(...
'Parent',f1,...
'CellEditCallback',@(a,b)disp(b),...
'CellSelectionCallback',@(a,b)disp(b),...
'ColumnName',{'A','B','C'},...
'ColumnFormat',{'popup','numeric','numeric'},...
'Label','Table1:', ...
'LabelLocation','top',...
'LabelHeight',18,...
'Units','normalized', ...
'Position',[0 0 1 1]);
w1.Data = magic(3);
w2 = uiw.widget.Table(...
'Parent',f2,...
'CellEditCallback',@(h,e)disp(e),...
'CellSelectionCallback',@(h,e)disp(e),...
'ColumnName',{'A','B','C'},...
'ColumnFormat',{'popup','numeric','numeric'},...
'Label','Table2:', ...
'LabelLocation','top',...
'LabelHeight',18,...
'Units','normalized', ...
'Position',[0 0 1 1]);
f2 = figure(...
'Toolbar','none',...
'MenuBar','none',...
'NumberTitle','off',...
'Units','pixels',...
'Position',[100 100 880 200]);
movegui(f2,[100 -500])
w2.Data = magic(3);

Accedi per commentare.

Risposte (0)

Categorie

Scopri di più su Verification, Validation, and Test in Centro assistenza e File Exchange

Prodotti

Release

R2017a

Richiesto:

il 27 Apr 2020

Commentato:

il 29 Apr 2020

Community Treasure Hunt

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

Start Hunting!

Translated by