private bool RunView(CouchViewDefinition viewDefinition) { var root = tvResults.Nodes.Add(viewDefinition.Path() + "/" + txtParams.Text); var viewQuery = viewDefinition.Query(); if (!String.IsNullOrEmpty(txtParams.Text)) { foreach (var optionSet in txtParams.Text.Split('&')) { var option = optionSet.Split('='); if (option.Length != 2) { MessageBox.Show(txtParams.Text + " is not a valid view query string (needs to be in the form name=value[&name2=value2]).", "Invalid query", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } viewQuery.Options[option[0]] = option[1]; } } try { ShowResult(root, viewQuery.GetResult().result, null); } catch (Exception ex) { root.Nodes.Add("Error: " + ex.Message); MessageBox.Show(ex.ToString(), "Exception running view", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } return(true); }