Zum Hauptinhalt springen

Daten aus einem FileResultset

Ein TableDialog kann automatisch über ein FileResultset befüllt werden. Dazu kann die Funktion fromFileResultset verwendet werden.

Einfaches Beispiel

context.enableModules();
const { TableDialog } = require("ou.sp.gadget.TableDialog");

const fileResultset = new FileResultset("ouspPostman_Documents")
context.returnValue = TableDialog.fromFileResultset(fileResultset).transfer();

Beispiel mit Userexit

Über den zweiten Parameter können ausgewählte Mappenfelder verwendet werden.

Portalskript:

context.enableModules();
const { TableDialog } = require("ou.sp.gadget.TableDialog");

const args = TableDialog.getParams()
const filter = args.searchValue ? "mailSender ~ '*" + args.searchValue + "*'" : ""

const fileResultset = new FileResultset("ouspPostman_Documents", filter)
const fields = ["mailSender", "mailDate"]

context.returnValue = TableDialog.fromFileResultset(fileResultset, fields).transfer();

UserExit:

documents.sdk.exitRegistry.registerFileFieldExitCallback("ouspDemo_MultiTable", "userExit_singleFileResultset", function(documentsContext, options) {

var fileContext = documentsContext.getFileContext()
var searchValue = fileContext.getFileFieldValue(options.fileFieldName)

if (!searchValue) {
return
}

showTableDialog({
title: "Beispieldatensätze",
script: "ou.cust.tableDialog.callback.fetchFileResultset",
params: {
searchValue: searchValue
},
success: function(selectedRows) {
if (selectedRows.length <= 0) {
fileContext.setFileFieldValue(options.fileFieldName, "")
return
}

var names = selectedRows.map(function(row) {
return row.name
}).join(", ")
fileContext.setFileFieldValue(options.fileFieldName, names)
}
})

})