IMailMergeDataSource

public interface IMailMergeDataSource

Реализуйте этот интерфейс, чтобы разрешить слияние почты из пользовательского источника данных, например списка объектов. Данные Master-Detail также поддерживаются.

При создании источника данных его следует инициализировать, чтобы он указывал на BOF (перед первой записью). Механизм слияния почты Aspose.Words вызоветmoveNext() чтобы перейти к следующей записи, а затем вызватьM:Aspose.Words.MailMerging.IMailMergeDataSource.GetValue(System.String,System.Object@) для каждого поля слияния, которое встречается в документе или в текущей области слияния.

Методы

МетодОписание
getChildDataSource(String tableName)Механизм слияния почты Aspose.Words вызывает этот метод, когда обнаруживает начало вложенной области слияния.
getTableName()Возвращает имя источника данных.
getValue(String fieldName, Ref fieldValue)
moveNext()Переход к следующей записи в источнике данных.

getChildDataSource(String tableName)

public abstract IMailMergeDataSource getChildDataSource(String tableName)

Механизм слияния почты Aspose.Words вызывает этот метод, когда обнаруживает начало вложенной области слияния.

Когда механизмы слияния почты Aspose.Words заполняют область слияния данными и обнаруживают начало вложенной области слияния в форме MERGEFIELD TableStart:TableName, он вызываетgetChildDataSource(java.lang.String) на текущем объекте источника данных. Ваша реализация должна вернуть новый объект источника данных, который обеспечит доступ к дочерним записям текущей родительской записи. Aspose.Words будет использовать возвращенный источник данных для заполнения вложенной области слияния.

Ниже приведены правила, выполнение которыхgetChildDataSource(java.lang.String) должен следовать.

Если таблица, представленная этим объектом источника данных, имеет связанную дочернюю (подробную) таблицу с указанным именем, то ваша реализация должна вернуть новыйIMailMergeDataSource объект, который предоставит доступ к дочерним записям текущей записи. Примером этого является отношение Orders / OrderDetails. Предположим, что текущийIMailMergeDataSource Объект представляет таблицу Orders и имеет текущую запись заказа. Затем Aspose.Words встречает в документе «MERGEFIELD TableStart:OrderDetails» и вызываетgetChildDataSource(java.lang.String) . Вам нужно создать и вернутьIMailMergeDataSource объект, который позволит Aspose.Words получить доступ к записи OrderDetails для текущего заказа.

Если этот объект источника данных не имеет отношения к таблице с указанным именем, то необходимо вернутьIMailMergeDataSource объект, который предоставит доступ ко всем записям указанной таблицы.

Если таблица с указанным именем не существует, ваша реализация должна вернуть значение null .

Параметры:

ПараметрТипОписание
tableNamejava.lang.StringИмя региона слияния, указанное в шаблоне документа. Без учета регистра.

Возвращает: IMailMergeDataSource - Объект источника данных, который предоставит доступ к записям данных указанной таблицы.

getTableName()

public abstract String getTableName()

Возвращает имя источника данных.

Если вы реализуетеIMailMergeDataSource, верните имя источника данных из этого свойства.

Aspose.Words использует это имя для сопоставления с именем региона слияния, указанным в шаблоне документа. При сравнении имени источника данных и имени региона слияния не учитывается регистр.

Возвращает: java.lang.String — имя источника данных. Пустая строка, если у источника данных нет имени.

getValue(String fieldName, Ref fieldValue)

public abstract boolean getValue(String fieldName, Ref fieldValue)

Параметры:

ПараметрТипОписание
fieldNamejava.lang.String
fieldValueRef

Возвращает: логический

moveNext()

public abstract boolean moveNext()

Переход к следующей записи в источнике данных.

Возвращает: boolean — Истинно, если успешно перенесено на следующую запись. False, если достигнут конец источника данных.