微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Matlab appdesigner中的旧表行之间添加新行

如何解决在Matlab appdesigner中的旧表行之间添加新行

经过研究,我仍然找不到解决我问题的方法。当按下按钮时,我有一个表格,其中充满了来自用户的信息。这样的想法是,一旦插入新信息并按下“添加”按钮,表上就会创建一个新行。例如:

  1. 从5行的表格开始
  2. 用户将光标置于第三行(选定)
  3. 用户点击添加新行按钮
  4. 在第3行添加了新行,而现在的旧第三行是第4行

你们有什么建议吗?

解决方法

这是一种方法。在您的UIFigure中创建一个名为CurrentRow的属性。

properties (Access = private)
    CurrentRow % Last row selected in UITable
end

只要用户单击表中的单元格,就会触发UITableCellSelection事件,您可以将CurrentRow属性设置为所选行。

% Cell selection callback: UITable
function UITableCellSelection(app,event)
    app.CurrentRow = event.Indices(1);
end

接下来,用户单击“新行按钮”,我们使用ButtonPushed事件插入新行。

% Button pushed function: Button
function ButtonPushed(app,event)
    insertedRow = [1 2 3 4];
    temp = [app.UITable.Data(1:app.CurrentRow-1,:);insertedRow;app.UITable.Data(app.CurrentRow:end,:)];
    app.UITable.Data = temp;
end

很明显,您将从表单上的其他控件中获取新的行值,而我仅以硬编码值为例。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。