我已经在第3列中创建了一个带有下拉菜单的可用度。我想在用户修改后保存修改的表数据。请指导我如何做。谢谢
对于我写的代码是:
f = figure;
s=1;
myData = {s 'q1' 'choose'; ...
s+1 'q2' 'choose';};
t = uitable('Parent', f,...
'Position', [100 100 260 260],...
'ColumnName',{'SLNO.' 'Queries' 'select answer'},...
'ColumnFormat',({[] [] {'Yes' 'No'}}),...
'ColumnEditable', true,...
'Data', myData);
在用户编辑上执行操作,使用'CellEditCallBack'
对象的CC_1属性。该属性可以包含函数或字符串的句柄。在后一种情况下,将在用户编辑单元格时评估字符串。因此,在t
的定义中添加以下行:
t = uitable('Parent', f,...
'Position', [100 100 260 260],...
'ColumnName',{'SLNO.' 'Queries' 'select answer'},...
'ColumnFormat',({[] [] {'Yes' 'No'}}),...
'ColumnEditable', true,...
'Data', myData,...
'CellEditCallBack','newData = get(gco,''Data'');'); % this is the new line
当用户编辑uitable
中的某些单元格时,这将更新工作区变量newData
。
如果您希望在编辑单元格时执行更复杂的操作,则可以定义脚本,例如myAction
,并将'CellEditCallBack'
属性设置为'myAction'
。或定义一个函数,例如myFunction
,然后将'CellEditCallBack'
属性设置为@myFunction
。在这种情况下,该函数通过一个包含事件数据的CellEditData
对象;有关详细信息,请参见上述链接。