void InitializeDatasource() { var view = InitializeCouchbaseView(); var query = view.CreateQuery().ToLiveQuery(); query.Descending = true; Datasource.Query = query; Datasource.LabelProperty = DocumentDisplayPropertyName; // Document property to display in the cell label Datasource.Query.Start(); var doneView = Database.GetExistingView("Done") ?? Database.GetView("Done"); DoneQuery = doneView.CreateQuery().ToLiveQuery(); DoneQuery.Changed += (sender, e) => { String val; var label = TableView.TableHeaderView as UILabel; if (DoneQuery.Rows.Count == 0) { val = String.Empty; } else { var row = DoneQuery.Rows.ElementAt(0); var doc = (IDictionary <string, string>)row.Value; val = String.Format("{0}: {1}\t", doc["Label"], doc["Count"]); } label.Text = val; }; DoneQuery.Start(); }
void InitializeDatasource() { var view = Database.ViewNamed(DefaultViewName); LiveQuery query = view.Query.AsLiveQuery; query.Descending = true; Datasource.Query = query; Datasource.LabelProperty = DocumentDisplayPropertyName; // Document property to display in the cell label DoneQuery = Database.ViewNamed("Done").Query.AsLiveQuery; DoneQuery.AddObserver(this, (NSString)"rows", NSKeyValueObservingOptions.New, IntPtr.Zero); }