private void searchButton_Click(object sender, System.EventArgs e) { Cursor.Current = Cursors.WaitCursor; // Clear out the current descripton and path fields descriptionTextBox.Clear(); pathTextBox.Clear(); // Disable save button on new search saveReportButton.Enabled = false; // Check to see if the 'Search By' string is valid. if (conditionComboBox.SelectedIndex == -1) { MessageBox.Show( "Please select a valid 'Search By' string by clicking the drop down arrow!", "Invalid 'Search By' String", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } // Check to see if a search string is entered if (searchTextBox.Text == null || searchTextBox.Text == "") { MessageBox.Show( Resources.invalidSearchStringErrorMessage, Resources.invalidSearchStringMessageBoxTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); } else { reportListView.Items.Clear(); // Create a new proxy to the web service rs = new rs2010.ReportingService2010(); rsExec = new rsExecService.ReportExecutionService(); // Authenticate to the Web service using Windows credentials rs.Credentials = System.Net.CredentialCache.DefaultCredentials; rsExec.Credentials = System.Net.CredentialCache.DefaultCredentials; // Assign the URL of the Web service rs.Url = ConfigurationManager.AppSettings["ReportingService2010"]; rsExec.Url = ConfigurationManager.AppSettings["ReportExecutionService"]; rs2010.SearchCondition[] conditions; if (conditionComboBox.SelectedIndex == NAME) { // Create Name search condition rs2010.SearchCondition condition = new rs2010.SearchCondition(); condition.Condition = rs2010.ConditionEnum.Contains; condition.ConditionSpecified = true; condition.Name = "Name"; string[] val = {searchTextBox.Text}; condition.Values = val; conditions = new rs2010.SearchCondition[1]; conditions[0] = condition; } else if (conditionComboBox.SelectedIndex == DESC) { // Create Description search condition rs2010.SearchCondition condition = new rs2010.SearchCondition(); condition.Condition = rs2010.ConditionEnum.Contains; condition.ConditionSpecified = true; condition.Name = "Description"; condition.Values[0] = searchTextBox.Text; // Add conditions to the conditions argument to be used for // FindItems conditions = new rs2010.SearchCondition[1]; conditions[0] = condition; } else { // Create Name rs2010.SearchCondition nameCondition = new rs2010.SearchCondition(); nameCondition.Condition = rs2010.ConditionEnum.Contains; nameCondition.ConditionSpecified = true; nameCondition.Name = "Name"; nameCondition.Values[0] = searchTextBox.Text; // Create Desription rs2010.SearchCondition descCondition = new rs2010.SearchCondition(); descCondition.Condition = rs2010.ConditionEnum.Contains; descCondition.ConditionSpecified = true; descCondition.Name = "Description"; descCondition.Values[0] = searchTextBox.Text; // Add conditions to the conditions argument to be used for // FindItems conditions = new rs2010.SearchCondition[2]; conditions[0] = nameCondition; conditions[1] = descCondition; } try { // Return a list of items based on the search conditions that // apply rs2010.Property[] SearchOptions = new rs2010.Property[1]; rs2010.Property SearchOption = new rs2010.Property(); SearchOption.Name = "Recursive"; SearchOption.Value = "True"; SearchOptions[0] = SearchOption; returnedItems = rs.FindItems("/", rs2010.BooleanOperatorEnum.Or, SearchOptions, conditions); if (returnedItems != null && returnedItems.Length != 0) { foreach (rs2010.CatalogItem ci in returnedItems) { //Create a ListView item containing a report catalog item if (ci.TypeName == "Report") { // Add the items to the list view CatalogListViewItem newItem = new CatalogListViewItem(ci); reportListView.Items.Add(newItem); } } } else MessageBox.Show( Resources.noItemsFoundInfoMessage, Resources.noItemsFoundMessageBoxTitle, MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception exception) { HandleException(exception); } finally { Cursor.Current = Cursors.Default; } } }
private void CreateProxy() { try { rs = new rsService.ReportingService2005(); rs.Url = serverTextBox.Text + "ReportService2005.asmx"; rs.Credentials = System.Net.CredentialCache.DefaultCredentials; rsExec = new rsExecService.ReportExecutionService(); rsExec.Url = serverTextBox.Text + "ReportExecution2005.asmx"; rsExec.Credentials = System.Net.CredentialCache.DefaultCredentials; rsExec.RenderCompleted += new rsExecService.RenderCompletedEventHandler(this.RenderCompletedHandler); } catch (Exception ex) { MessageBox.Show(string.Format(CultureInfo.InvariantCulture, ex.Message)); } }