Вам нужно сделать ElementBinding против вашего элемента Select на сегментированной кнопке «SelectionChange». Это изменит все ссылки привязки вашего элемента управления Select, поэтому ваше «видимое» состояние завершится неудачно. Поэтому вам нужно установить его в «true» или «false» вручную. Но я думаю, что это не проблема, потому что если пользователь сделал выбор в сегментированной кнопке, это потому, что он «качественный».
Итак, фрагмент здесь
И здесь обработчик события
onSegBtnSelected(oEvent){
var oSegBtn = oEvent.getParameters().item;
var oBindingPath = oSegBtn.getBindingContext("Result").getPath();
if(this.getView().getModel("Result").getProperty(oBindingPath + "/Selection")){
var oSelect = oEvent.getSource().getParent().getContent()[1];
oSelect.bindElement("Result>" + oBindingPath + "/Selection/Row");
oSelect.setVisible(true);
}
}
Вы можете получить XML-код вашей таблицы и вставить его в шаблон
//Create table
$document_with_table = new PhpWord();
$section = $document_with_table->addSection();
$table = $section->addTable();
for ($r = 1; $r <= 8; $r++) {
$table->addRow();
for ($c = 1; $c <= 5; $c++) {
$table->addCell(1750)->addText("Row {$r}, Cell {$c}");
}
}
// Create writer to convert document to xml
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($document_with_table, 'Word2007');
// Get all document xml code
$fullxml = $objWriter->getWriterPart('Document')->write();
// Get only table xml code
$tablexml = preg_replace('/^[\s\S]*(<w:tbl\b.*<\/w:tbl>).*/', '$1', $fullxml);
//Open template with ${table}
$template_document = new \PhpOffice\PhpWord\TemplateProcessor('template.docx');
// Replace mark by xml code of table
$template_document->setValue('table', $tablexml);
//save template with table
$template_document->saveAs('template_with_table.docx');
.