【Matlab App Designer】關(guān)于uitable的選中列名時出錯的問題
背景
采用matlab2022b的app designer中的uitable控件時,對空白表格的列進(jìn)行列名選中時出現(xiàn)報錯


報錯信息如下:
Error in executing callback registered with ViewModel:?
錯誤使用 matlab.ui.internal.controller.uitable.utils.TableSelectionValidator.validateRowSelection
選擇索引超出數(shù)據(jù)邊界。
出錯 matlab.ui.internal.controller.uitable.utils.TableSelectionValidator.validateCellSelection (第 107 行)
? ? ? ? ? ? TableSelectionValidator.validateRowSelection(storage, selection(:,1)');
出錯 matlab.ui.internal.controller.uitable.utils.TableSelectionValidator.validateSelection (第 17 行)
? ? ? ? ? ? ? ? ? ? TableSelectionValidator.validateCellSelection(storage, selection);
出錯 matlab.ui.internal.controller.uitable.WebMWTableController/handleEvent (第 764 行)
? ? ? ? ? ? ? ? ? ? ? ? ? obj.Model.setSelectionFromClient(selection,...
出錯 matlab.ui.internal.controller.uitable.WebMWTableController>@(varargin)obj.handleEvent(varargin{:}) (第 586 行)
? ? ? ? ? ? obj.EventHandlingService.attachEventListener( @obj.handleEvent );
原因分析
matlab的uitable控件BUG,當(dāng)打開uitable的屬性Multiselect設(shè)置為false(不允許單元格多選)時導(dǎo)致報錯

應(yīng)對方式
由于這個是matlab的bug,那么如果想設(shè)置為只能選中單個單元格時,根據(jù)單元的Data屬性進(jìn)行設(shè)置:
Data屬性全空時,屬性Multiselect設(shè)置為true,避免出發(fā)BUG
Data屬性有值時,屬性Multiselect設(shè)置為false,實(shí)現(xiàn)具體功能