寻找如何使用 Google Sheets API FilterCriteria 对象的示例

Ian*_*888 2 .net c# google-sheets-api

我试图了解如何AddFilterViewRequest在 Google Sheets API 中构建一个。然而,似乎没有任何好的例子可以在任何编程语言中找到来演示它是如何使用的。

具体来说,我试图了解FilterCriteria对象,以及我需要设置hiddenValuescondition设置的内容。

在我的应用程序中,我试图构建一个过滤器,它只会显示我选择的列中的单元格不为空的行。我可以在 Google Sheets 编辑器中手动执行此操作,并且我想在我的程序中复制相同的设置。

这是目前的代码......

Request request = new Request();
request.AddFilterView = new AddFilterViewRequest();
request.AddFilterView.Filter = new FilterView();
request.AddFilterView.Filter.FilterViewId = 0;
request.AddFilterView.Filter.Title = "Hide rows with errors";
request.AddFilterView.Filter.Range = new GridRange();
request.AddFilterView.Filter.Range.SheetId = 0;
request.AddFilterView.Filter.Range.StartColumnIndex = 8;
request.AddFilterView.Filter.Range.EndColumnIndex = 9;
FilterCriteria criteria = new FilterCriteria();
//criteria.Condition = BooleanCondition;
criteria.HiddenValues = new List<string>();
//criteria.HiddenValues.Add("item");
IDictionary<string, FilterCriteria> criteriaDictionary = new Dictionary<string, FilterCriteria>();
//criteriaDictionary.Add("string", criteria);
request.AddFilterView.Filter.Criteria = criteriaDictionary;
Run Code Online (Sandbox Code Playgroud)

目前被注释掉的行是我可以寻求帮助的行。我也试图找出哪些string变量应该是criteriaDictionary

Ian*_*888 5

发布这个问题后,我意识到我自己可以回答的一种方法是对已经应用了此过滤器的现有电子表格进行逆向工程。基于此,我现在有以下工作代码......

FilterCriteria criteria = new FilterCriteria();
criteria.Condition = new BooleanCondition();
criteria.Condition.Type = "NOT_BLANK";

IDictionary<string, FilterCriteria> criteriaDictionary = new Dictionary<string, FilterCriteria>();
criteriaDictionary.Add("8", criteria);

Request request = new Request();
request.AddFilterView = new AddFilterViewRequest();
request.AddFilterView.Filter = new FilterView();
request.AddFilterView.Filter.FilterViewId = 0;
request.AddFilterView.Filter.Title = "Hide rows with errors";
request.AddFilterView.Filter.Range = range1;
request.AddFilterView.Filter.Criteria = criteriaDictionary;
requests.Add(request);
Run Code Online (Sandbox Code Playgroud)

我不知道为什么将它们的键值设置为 8,但这就是现有电子表格中的内容(并且该工作表中只有一个过滤器视图)。无论如何,我复制了它,它有效,所以我没有发现需要更改它。