首页 > 解决方案 > 根据下拉列表中的 currentYear 值更新表(外部数据)

问题描述

我有一张表格,显示员工的休假请求。现在,我正在使用“onAttach”事件在该表中显示所有年份的请求。我想在我的外部 sql 数据中实现一个绑定到“年份”列的下拉列表。因此,每当我从该下拉列表中选择一年时,我希望表格更新仅显示表格中该特定年份的请求。我该如何实施?

表的 onAttach 函数loadHolidayTable()通向这个客户端函数

function loadHolidayTable() {
  app.datasources.HolidayModel.load({
    failure: function (error) {
      displayTimedSnackbar('Unable to load holidays table: ' + error);
    }
  });
}

数据源“HolidayModel”中的我的服务器脚本

return calculateHolidayModel(query);

导致此服务器功能:

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应替换为下拉列表中的值。

欢迎任何建议!

标签: google-app-maker

解决方案


推荐阅读