В конечном счете, я хочу фильтровать на основе значений, извлеченных из формы, но сейчас, жестко закодировав это, это не работает. Сложность в том, что поля, для которых выполняется подбор, также являются динамическими:
m1 и m2 - поля метаданных, v1 и v2 - поля значений.
Что у меня есть это:
function basicQuery (m1, m2, v1, v2){
var results = [];
var query = app.models.DATASOURCE.newQuery();
query.filters.m1._contains = v1;
query.filters.m2._contains = v2;
return query.run();
}
Это выдает "TypeError: Невозможно установить свойство" _contains "из undefined в" Textvalue ". Но в то время как v1 и v2 распознаются правильно, m1 и m2 нет. Я думаю, что мне нужно что-то вроде
m1 = app.model.DATASOURCE.getField(m1);
Ни одно из учебных пособий, которые я смотрел, не было таким, как я хотел, если бы кто-то мог указать мне правильное направление, я был бы в восторге.
Мне просто нужно динамически фильтровать мою таблицу.
(добавив функцию-обработчик, хотя я не думаю, что это проблема):
function handleBasicQuery(){
var m1 = "document_name";
var v1 ="TextValue";
var m2 = "Region";
var v2 = "North America";
console.log("--handleBasicQuery--");
google.script.run.withSuccessHandler(
function successHandler(expectedValue){
console.Log (expectedValue);})
.withFailureHandler(
function failureHandler(){
console.log("undefined");})
.basicQuery(m1, m2, v1, v2);
}