Google app maker 基于下拉列表中的当前年份值更新表(外部数据)
我有一个表格显示员工的休假请求。现在,我正在用“onAttach”事件显示该表中所有年份的请求。我想实现一个下拉列表,绑定到外部sql数据中的“年”列。因此,每当我从下拉列表中选择一年时,我都希望表只更新,显示表中特定年份的请求。我如何实现它 表的onAttach函数Google app maker 基于下拉列表中的当前年份值更新表(外部数据),google-app-maker,Google App Maker,我有一个表格显示员工的休假请求。现在,我正在用“onAttach”事件显示该表中所有年份的请求。我想实现一个下拉列表,绑定到外部sql数据中的“年”列。因此,每当我从下拉列表中选择一年时,我都希望表只更新,显示表中特定年份的请求。我如何实现它 表的onAttach函数loadHolidayTable()导致此客户机函数 function loadHolidayTable() { app.datasources.HolidayModel.load({ failure: function
loadHolidayTable()
导致此客户机函数
function loadHolidayTable() {
app.datasources.HolidayModel.load({
failure: function (error) {
displayTimedSnackbar('Unable to load holidays table: ' + error);
}
});
}
数据源“HolidayModel”中的我的服务器脚本
导致此服务器功能:
function calculateHolidayModel(query) {
var queryStr = '';
var currentYear = null; --> to be replaced by dropdown value
if (currentYear === null || currentYear == 'undefined') {
queryStr = 'SELECT * FROM Holidays WHERE employeeID = ' + "'" + empID + "'";
}
else {
queryStr = 'SELECT * FROM Holidays WHERE employeeID = ' + "'" + empID + "'" + ' AND year = ' + "'" + currentYear + "'";
}
console.log(queryStr);
//var dayRecords = [];
var holidayRecords = [];
var connection = getJDBCConnection_();
var statement = connection.prepareStatement(queryStr);
try {
var results = statement.executeQuery();
while(results.next()) {
var holidayRecord = app.models.HolidayModel.newRecord();
holidayRecord.ID = results.getInt(2);
holidayRecord.From = new Date(results.getString(3));
holidayRecord.To = new Date(results.getString(4));
holidayRecord.Status = results.getString(5);
holidayRecords.push(holidayRecord);
console.log(results.getInt(2));
}
results.close();
statement.close();
} catch (err) {
console.log(err);
}
return holidayRecords;
}
currentYear
应替换为下拉列表中的值
欢迎提出任何建议 您能告诉我们您当前的代码是否正常工作或出现任何错误吗?@MarkusMalessa当前代码正常工作并列出所有假日请求,我在下拉菜单中实现年份过滤器时遇到问题将currentYear作为数字类型参数添加到您的计算数据源中。将下拉列表绑定到
@datasource.query.parameters.currentYear
。替换var currentYear=null代码>带有var currentYear=query.parameters.currentYear
。应该这样做。如果不起作用,请告诉我。同时将“undefined”替换为just undefined,undefined不是字符串类型。@MarkusMalessa由于某些原因,我无法将下拉列表绑定到@datasources.HolidayModel.query.parameters.currentYear
,尽管它在“选择绑定”中可用。由于某些原因,它变灰了。您的期权是如何生成的,像[201620172018]还是以其他方式生成的?如果在值之前设置选项,那么值绑定可能会依赖于设置选项的方式,例如类型不匹配。
function calculateHolidayModel(query) {
var queryStr = '';
var currentYear = null; --> to be replaced by dropdown value
if (currentYear === null || currentYear == 'undefined') {
queryStr = 'SELECT * FROM Holidays WHERE employeeID = ' + "'" + empID + "'";
}
else {
queryStr = 'SELECT * FROM Holidays WHERE employeeID = ' + "'" + empID + "'" + ' AND year = ' + "'" + currentYear + "'";
}
console.log(queryStr);
//var dayRecords = [];
var holidayRecords = [];
var connection = getJDBCConnection_();
var statement = connection.prepareStatement(queryStr);
try {
var results = statement.executeQuery();
while(results.next()) {
var holidayRecord = app.models.HolidayModel.newRecord();
holidayRecord.ID = results.getInt(2);
holidayRecord.From = new Date(results.getString(3));
holidayRecord.To = new Date(results.getString(4));
holidayRecord.Status = results.getString(5);
holidayRecords.push(holidayRecord);
console.log(results.getInt(2));
}
results.close();
statement.close();
} catch (err) {
console.log(err);
}
return holidayRecords;
}