我如何在 uitable 中赋值?
How can l assign values in uitable?
我想知道如何在 uitable 中赋值。我从我的数据矩阵中自动获得了 table 大小,我可以根据需要在前两列中定义值,但我不知道如何填充第三列。是否可以手动填写此栏?在尝试填充第三列时,我收到警告:Table data is not editable at this location.
感谢您的帮助。
a = text2(:,(1:c11));
b = in_matrix(1,(1:c11));
cnames = {'Name','Name','Value'};
rnames = 1:c11;
Data = transpose(a);
f = figure('Position', [100 100 500 500]);
t = uitable('Parent', f, 'Position', [50 100 300 400],...
'Data',Data,...
'ColumnName',cnames,...
'RowName',rnames,...
'Enable','on',...
'Visible','on');
set(t,'ColumnFormat',{'char','char','numeric'});
set(t,'ColumnEditable',[false,false,true]);
首先,不要使用text
作为变量名,因为它是一个内置函数,会引起麻烦。其次,这是我认为你目前拥有的:
content = {'neuer Schaufeltyp' '[]' [ 0.8]; ...
'Geometrienummer' '[]' [ 0.16667]; ...
'neuer Bearbeitungstyp' '[]' [ 0.29231]; ...
'D' '[]' [0.066667]; ...
'L1' '[]' [ 0.73529]; ...
'Schneiden' '[]' [ 0.1]; ...
'fz' '[]' [ 0.1]; ...
'Einstellwinkel' '[]' [ 0]; ...
'Schneidenradius' '[]' [ 0]; ...
'Kühlung' '[]' [ 0.33333]; ...
'GleichGegen' '[]' [ 1]; ...
'Verh. D-WZ/Eingriffsbr' '[]' [ 0]; ...
'neuer Werkstoff' '[]' [ 0.11111]}.';
c11 = 13;
a = content(:,(1:c11));
cnames = {'Name','Name','Value'};
rnames = 1:c11;
Data = a.';
f = figure('Position', [100 100 500 500]);
t = uitable('Parent', f, 'Position', [50 100 300 400],...
'Data',Data,...
'ColumnName',cnames,...
'RowName',rnames,...
'Enable','on',...
'Visible','on');
现在我有点懵了,你是要填第二栏还是第三栏?你想通过代码还是手工完成?
要手动填充第三列,您需要使用 属性 ColumEditable
使其成为 editable 并定义 ColumnFormat
还有:
set(t,'ColumnFormat',{'char','char','numeric'})
set(t,'ColumnEditable',[false,false,true])
或者在开始时与所有其他属性一起执行。
然后你得到你的 table,你可以在第三列中手动插入值(我总是插入 42。):
我想知道如何在 uitable 中赋值。我从我的数据矩阵中自动获得了 table 大小,我可以根据需要在前两列中定义值,但我不知道如何填充第三列。是否可以手动填写此栏?在尝试填充第三列时,我收到警告:Table data is not editable at this location.
感谢您的帮助。
a = text2(:,(1:c11));
b = in_matrix(1,(1:c11));
cnames = {'Name','Name','Value'};
rnames = 1:c11;
Data = transpose(a);
f = figure('Position', [100 100 500 500]);
t = uitable('Parent', f, 'Position', [50 100 300 400],...
'Data',Data,...
'ColumnName',cnames,...
'RowName',rnames,...
'Enable','on',...
'Visible','on');
set(t,'ColumnFormat',{'char','char','numeric'});
set(t,'ColumnEditable',[false,false,true]);
首先,不要使用text
作为变量名,因为它是一个内置函数,会引起麻烦。其次,这是我认为你目前拥有的:
content = {'neuer Schaufeltyp' '[]' [ 0.8]; ...
'Geometrienummer' '[]' [ 0.16667]; ...
'neuer Bearbeitungstyp' '[]' [ 0.29231]; ...
'D' '[]' [0.066667]; ...
'L1' '[]' [ 0.73529]; ...
'Schneiden' '[]' [ 0.1]; ...
'fz' '[]' [ 0.1]; ...
'Einstellwinkel' '[]' [ 0]; ...
'Schneidenradius' '[]' [ 0]; ...
'Kühlung' '[]' [ 0.33333]; ...
'GleichGegen' '[]' [ 1]; ...
'Verh. D-WZ/Eingriffsbr' '[]' [ 0]; ...
'neuer Werkstoff' '[]' [ 0.11111]}.';
c11 = 13;
a = content(:,(1:c11));
cnames = {'Name','Name','Value'};
rnames = 1:c11;
Data = a.';
f = figure('Position', [100 100 500 500]);
t = uitable('Parent', f, 'Position', [50 100 300 400],...
'Data',Data,...
'ColumnName',cnames,...
'RowName',rnames,...
'Enable','on',...
'Visible','on');
现在我有点懵了,你是要填第二栏还是第三栏?你想通过代码还是手工完成?
要手动填充第三列,您需要使用 属性 ColumEditable
使其成为 editable 并定义 ColumnFormat
还有:
set(t,'ColumnFormat',{'char','char','numeric'})
set(t,'ColumnEditable',[false,false,true])
或者在开始时与所有其他属性一起执行。
然后你得到你的 table,你可以在第三列中手动插入值(我总是插入 42。):