Отформатируйте таблицу DOM MATLAB - PullRequest
0 голосов
/ 08 мая 2020

На основании этого вопроса: Поля таблицы в формате в генераторе отчетов PDF - Matlab , я преобразовал p таблицу в таблицу DOM MATLAB. Как я могу раскрасить строку заголовка, удалить подчеркивание ее записей и применить tableStyle к остальной части.

С моим кодом я получаю всю таблицу с цветом LightBlue, а tableStyle не применяется.

Код:

function ButtonPushed(app, event)
import mlreportgen.dom.*;
import mlreportgen.report.*

ID = [1;2;3;4;5];
Name = {'San';'John';'Lee';'Boo';'Jay'};
Index1 = [1;2;3;4;5];
Index2 = [176.23423;163.123423654;131.45364572;133.5789435;119.63575647];
Index3 = [176.234;16.123423654;31.45364572;33.5789435;11.6647];
p = table(ID,Name,f(Index1),f(Index2),f(Index3));
V = @(x) inputname(1);
p.Properties.VariableNames(3:end) = {V(Index1), V(Index2), V(Index3)};

headerStyle = { BackgroundColor("LightBlue"), ...
    Bold(true) };

tableStyle = { Width("60%"), ...
    Border("single"), ...
    RowSep("solid"), ...
    ColSep("solid") };

p  = MATLABTable(p)

p.Style = headerStyle;
p.TableEntriesHAlign = 'center';

d = Document('myPDF','pdf');
d.OutputPath = ['E:/','temp'];
append(d,'Report for file: ');
append(d,p);
close(d);
rptview(d.OutputPath);
end

function FivDigsStr = f(x)
%formatting to character array with 5 significant digits and then splitting at each tab
FivDigsStr = categorical(split(sprintf('%0.5G\t',x)));
%Removing the last (empty) value (which is included due to \t)
FivDigsStr = FivDigsStr(1:end-1);
end

1 Ответ

1 голос
/ 08 мая 2020

Вы определили переменную tableStyle, в которой вы определили желаемые свойства, но не установили их. Кроме того, вместо того, чтобы устанавливать для заголовка полужирный и светло-синий фон, вы устанавливаете это для всех записей.

Следующий код исправляет это:

set(p, 'Width', '60%', 'Border', 'single',...
    'RowSep', 'solid', 'ColSep', 'solid',...
    'TableEntriesHAlign', 'center');
p.HeaderRule = '';  %To remove the underlining of header entries
p.Header.Style = headerStyle; %Setting the Header Style 

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...