2020-07-26 MATLAB App Designer——關(guān)于tanble表設(shè)置下拉的方式
? ? ? ? 對于表格控件(app.ConfigureProject.ConfigureSensorData.Object.InitialValueTable)其內(nèi)容為table形式,假設(shè)對單元格【1,2】設(shè)置下拉選項進(jìn)行設(shè)置。
1、表格內(nèi)容演示:

2、一般的賦值
對指定單元設(shè)定下拉,采用categorical
?(分類)數(shù)組進(jìn)行賦值。要求,賦值列的ColumnEditable
?屬性必須為true。
如:
CurrentSensorsList = ['無'; unique(app.ConfigureProject.ConfigureSensorData.Object.InitialValueTable.Data.Sensors)]; % 元胞,列向量 %?Sensors 為該表格控件內(nèi)容Sensors的列變量名稱
app.ConfigureProject.ConfigureSensorData.Object.InitialValueTable.Data.Sensors{event.Indices(1,1)} =? categorical(CurrentSensorsList); % 給指定表格賦值分類數(shù)組


3、進(jìn)階的賦值
若要設(shè)置成分類數(shù)組后仍有數(shù)據(jù)顯示(將32×1categorical替換為QJ-22-02-Y)時的代碼:
app.ConfigureProject.ConfigureSensorData.Object.InitialValueTable.Data.Sensors{event.Indices(1,1)}= ...
categorical({'QJ-22-02-Y'},CurrentSensorsList);?%?categorical 第一個為元胞組,categorical第二個變量為字符向量元胞數(shù)組


PS: 出現(xiàn)下拉后,按esc即可退出下拉菜單
4、缺點:
(1)設(shè)置完分類數(shù)組后,指定單元格沒有下拉篩選按鈕的提示,這一點很難受;
(2)如果設(shè)置表格列ColumnEditable
?為false,則無法賦值分類數(shù)組;相反可以設(shè)置分類數(shù)組時,該單元格內(nèi)數(shù)據(jù)允許修改(修改刷新表格后程序error),目前看適合用于篩選相似下拉內(nèi)容,但不適合給單元格賦新值,以后研究。

