最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

2020-10-12 MATLAB App Designer—鎖定uitable控件內(nèi)部分單元格(非列)

2020-10-12 18:45 作者:-何其-  | 我要投稿

背景

工作中遇到一個情況,就是要設(shè)置下面圖中,黑色的單元格內(nèi)容無論怎么修改 true 或者 false 都顯示為 false的情況

實(shí)例圖片

嘗試

1.對于uitable控件來說,采用ColumnEditable屬性控制

只適用于列控制,故僅修改列的ColumnEditable屬性是無法實(shí)現(xiàn)的

2.針對方法1進(jìn)行修改,實(shí)現(xiàn)功能:當(dāng)鼠標(biāo)點(diǎn)選黑色單元格的時候,設(shè)置該列屬性ColumnEditable為false,表格選中的回調(diào)函數(shù)代碼如下:

? ? % 表名?app.ViewAnalysisData

Id = cell2mat(arrayfun(@(x)sum( ...

? ? ? ? ?source.StyleConfigurations.Style(x).BackgroundColor)==3,...

? ? ? ? ?(1:height(source.StyleConfigurations)),'Un',false))==1;

?Id = source.StyleConfigurations.TargetIndex{Id}==event.Indices;

if? max(Id(:,1)&Id(:,2))==1

? ? ? ?app.ViewAnalysisData.ColumnEditable(unique(event.Indices(:,2))) = true;

else

? ? ? app.ViewAnalysisData.ColumnEditable(unique(event.Indices(:,2))) = false;

end

方法2 存在一個問題,采用鼠標(biāo)修改Sheet1和時程列的true和false時,matlab支持單元格選中在點(diǎn)擊checkbox修改(2方法適用)和直接點(diǎn)擊checkbox修改(2方法則不適用,程序報(bào)錯)

3.對表格控件的DisplayDataChangedFcn進(jìn)行修改,凡是source.Data中包含黑色單元格的均不傳遞給表格控件app.ViewAnalysisData.Data,代碼如下:

?% 表名?app.ViewAnalysisData

Id = cell2mat(arrayfun(@(x)sum( ...?

? ? ? ? app.ViewAnalysisData.StyleConfigurations.Style(x).BackgroundColor)==0,...? ??? ? ? ? ? ? ? ? ?(1:height(app.ViewAnalysisData.StyleConfigurations)),'Un',false))==1;

Id = app.ViewAnalysisData.StyleConfigurations.TargetIndex{Id==1}; % 獲取黑色單元格的單元的Indices

source.Data(Id(:,1),Id(:,2)) = {''};? % 刪除包含黑色單元格的單元Indices

app.ViewAnalysisData.Data? = source.Data; % 將剔除后的數(shù)據(jù)傳遞給表格控件

評價(jià)

推薦方法3,支持matlab單元格選中在點(diǎn)擊checkbox修改(2方法適用)和直接點(diǎn)擊checkbox修改的兩種途徑




2020-10-12 MATLAB App Designer—鎖定uitable控件內(nèi)部分單元格(非列)的評論 (共 條)

分享到微博請遵守國家法律
桂东县| 黔西县| 汾阳市| 马关县| 塔河县| 饶河县| 鄂托克旗| 小金县| 扶沟县| 宁化县| 垣曲县| 和硕县| 康马县| 湖口县| 乐亭县| 施甸县| 曲阜市| 孝义市| 鱼台县| 什邡市| 大安市| 咸阳市| 福鼎市| 始兴县| 渭源县| 高淳县| 九寨沟县| 宜兴市| 丹阳市| 理塘县| 平谷区| 中牟县| 西安市| 潢川县| 尼木县| 丹棱县| 甘肃省| 芮城县| 南康市| 黑山县| 大洼县|