欢迎光临散文网 会员登陆 & 注册

【Matlab App Designer】关于uitable的选中列名时出错的问题

2022-11-09 01:34 作者:-何其-  | 我要投稿

背景

采用matlab2022b的app designer中的uitable控件时,对空白表格的列进行列名选中时出现报错

选中列名(空白表)
报错截图

报错信息如下:

Error in executing callback registered with ViewModel: 

错误使用 matlab.ui.internal.controller.uitable.utils.TableSelectionValidator.validateRowSelection

选择索引超出数据边界。

出错 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,当打开uitable的属性Multiselect设置为false(不允许单元格多选)时导致报错

应对方式

由于这个是matlab的bug,那么如果想设置为只能选中单个单元格时,根据单元的Data属性进行设置:

  1. Data属性全空时,属性Multiselect设置为true,避免出发BUG

  2. Data属性有值时,属性Multiselect设置为false,实现具体功能


【Matlab App Designer】关于uitable的选中列名时出错的问题的评论 (共 条)

分享到微博请遵守国家法律