Сначала я попытался создать привязку для типа таблицы в слове.Но я получил ошибку и обнаружил, что создать привязку для Rich Text Content Control можно только в слове.
Поэтому я попытался создать таблицу внутри элемента управления, для которого я создалПривязка и я получил эту ошибку: «Тип указанного объекта данных не совместим с текущим выбором».Когда я посмотрел на прототип для setDataAsync (), он разрешает все виды данных, включая строку, матрицу, табличный объект и т. Д. Но в моем случае, хотя вставка строки работает нормально, но я получаю ошибку, упомянутую выше, когда пытаюсьвставьте объект таблицы.Вот мой код:
Office.context.document.bindings.addFromSelectionAsync(Office.BindingType.Text, { id: this.state.id.toString() }, (asyncResult) => {
if (asyncResult.status == Office.AsyncResultStatus.Failed) {
OfficeHelpers.UI.notify(asyncResult.error);
OfficeHelpers.Utilities.log(asyncResult.error);
}
else {
let myTable = new Office.TableData();
myTable.headers = ["First Name", "Last Name", "Grade"];
myTable.rows = [["Brittney", "Booker", "A"], ["Sanjit", "Pandit", "C"], ["Naomi", "Peacock", "B"]];
//Setting result value to the created binding
asyncResult.value.setDataAsync(myTable, { coercionType: Office.CoercionType.Table }, (df) => {
if (df.status == Office.AsyncResultStatus.Failed) {
OfficeHelpers.UI.notify(df.error);
OfficeHelpers.Utilities.log(df.error);
}
});
//Attaching onSelect Event Handler to the binding
asyncResult.value.addHandlerAsync(Office.EventType.BindingSelectionChanged, this._controlSelected);
}
});
Я смотрел на эту похожую тему: Office Word JS - управление контентом из таблицы выбора , и код в этом тоже отлично работает, но здесь онисначала создали таблицу, а затем обернули ее внутри элемента управления контентом.Я хотел попробовать это наоборот, и поэтому я просто хотел понять это сообщение об ошибке и почему я его получаю.