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

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


3、進階的賦值
若要設置成分類數組后仍有數據顯示(將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第二個變量為字符向量元胞數組


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

