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)
}
})
})