/// <summary> Constructor for a new instance of the Ad_Hoc_Report_Display_Form form </summary> /// <param name="Display_Set">Set of titles/items to display within this form</param> public Ad_Hoc_Report_Display_Form(DataSet Display_Set) { InitializeComponent(); BackColor = Color.FromArgb(240, 240, 240); displaySet = Display_Set; // Check for values at each hierarchical level and author and publisher bool hasLevel1Data = false; bool hasLevel2Data = false; bool hasLevel3Data = false; bool hasAuthorData = false; bool hasPublisherData = false; bool hasDateData = false; // Move the date column to the right spot Display_Set.Tables[0].Columns["PubDate"].SetOrdinal(8); // Get the columns DataColumn level1Column = displaySet.Tables[0].Columns["Level1_Text"]; DataColumn level2Column = displaySet.Tables[0].Columns["Level2_Text"]; DataColumn level3Column = displaySet.Tables[0].Columns["Level3_Text"]; DataColumn publisherColumn = displaySet.Tables[0].Columns["Publisher"]; DataColumn authorColumn = displaySet.Tables[0].Columns["Author"]; DataColumn dateColumn = displaySet.Tables[0].Columns["PubDate"]; // Step through each row and check for data existence foreach (DataRow thisRow in Display_Set.Tables[0].Rows) { if ((hasLevel1Data) && (hasLevel2Data) && (hasLevel3Data) && (hasPublisherData) && (hasAuthorData) && (hasDateData)) { break; } if ((!hasLevel1Data) && (thisRow[level1Column].ToString().Length > 0)) { hasLevel1Data = true; } if ((!hasLevel2Data) && (thisRow[level2Column].ToString().Length > 0)) { hasLevel2Data = true; } if ((!hasLevel3Data) && (thisRow[level3Column].ToString().Length > 0)) { hasLevel3Data = true; } if ((!hasPublisherData) && (thisRow[publisherColumn].ToString().Length > 0)) { hasPublisherData = true; } if ((!hasAuthorData) && (thisRow[authorColumn].ToString().Length > 0)) { hasAuthorData = true; } if ((!hasDateData) && (thisRow[dateColumn].ToString().Length > 0)) { hasDateData = true; } } // Create the custom grid gridPanel = new CustomGrid_Panel { Size = new Size(panel1.Width - 2, panel1.Height - 2), Location = new Point(0, 0) }; // Configure some table level style settings gridPanel.Style.Default_Column_Width = 80; gridPanel.Style.Default_Column_Color = Color.LightBlue; gridPanel.Style.Header_Back_Color = Color.DarkBlue; gridPanel.Style.Header_Fore_Color = Color.White; // Set the background and border style gridPanel.BackColor = Color.WhiteSmoke; gridPanel.BorderStyle = BorderStyle.FixedSingle; gridPanel.Anchor = (((((AnchorStyles.Top | AnchorStyles.Bottom) | AnchorStyles.Left) | AnchorStyles.Right))); panel1.Controls.Add(gridPanel); gridPanel.DataTable = displaySet.Tables[0]; gridPanel.Current_Sort_String = "BibID ASC, VID ASC"; // Configure for this table gridPanel.Style.Column_Styles[1].Width = 50; gridPanel.Style.Column_Styles[2].Visible = false; gridPanel.Style.Column_Styles[3].Visible = false; gridPanel.Style.Column_Styles[4].Visible = false; gridPanel.Style.Column_Styles[5].Width = SMaRT_UserSettings.Ad_Hoc_Report_Form_Title_Width; gridPanel.Style.Column_Styles[5].BackColor = Color.White; gridPanel.Style.Column_Styles[6].BackColor = Color.White; if (!hasAuthorData) { gridPanel.Style.Column_Styles[6].Width = SMaRT_UserSettings.Ad_Hoc_Report_Form_Author_Width; } else { gridPanel.Style.Column_Styles[6].Visible = false; } gridPanel.Style.Column_Styles[7].BackColor = Color.White; if (hasPublisherData) { gridPanel.Style.Column_Styles[7].Width = SMaRT_UserSettings.Ad_Hoc_Report_Form_Publisher_Width; } else { gridPanel.Style.Column_Styles[7].Visible = false; } gridPanel.Style.Column_Styles[8].BackColor = Color.White; if (hasDateData) { gridPanel.Style.Column_Styles[8].Width = SMaRT_UserSettings.Ad_Hoc_Report_Form_Date_Width; } else { gridPanel.Style.Column_Styles[8].Visible = false; } if (hasLevel1Data) { gridPanel.Style.Column_Styles[9].Width = SMaRT_UserSettings.Ad_Hoc_Report_Form_Level1_Width; } else { gridPanel.Style.Column_Styles[9].Visible = false; } gridPanel.Style.Column_Styles[9].Text_Alignment = HorizontalAlignment.Left; gridPanel.Style.Column_Styles[10].Visible = false; if (hasLevel2Data) { gridPanel.Style.Column_Styles[11].Width = SMaRT_UserSettings.Ad_Hoc_Report_Form_Level2_Width; } else { gridPanel.Style.Column_Styles[11].Visible = false; } gridPanel.Style.Column_Styles[11].Text_Alignment = HorizontalAlignment.Left; gridPanel.Style.Column_Styles[12].Visible = false; if (hasLevel3Data) { gridPanel.Style.Column_Styles[13].Width = SMaRT_UserSettings.Ad_Hoc_Report_Form_Level3_Width; } else { gridPanel.Style.Column_Styles[13].Visible = false; } gridPanel.Style.Column_Styles[13].Text_Alignment = HorizontalAlignment.Left; gridPanel.Style.Column_Styles[14].Visible = false; gridPanel.Style.Column_Styles[15].Visible = false; gridPanel.Style.Column_Styles[16].Visible = false; gridPanel.Style.Column_Styles[17].Visible = false; gridPanel.Style.Column_Styles[18].Visible = false; gridPanel.Style.Column_Styles[20].Visible = false; gridPanel.Style.Column_Styles[21].Header_Text = "Comments"; gridPanel.Style.Column_Styles[24].Header_Text = "Digitized"; gridPanel.Style.Column_Styles[24].Short_Date_Format = true; gridPanel.Style.Column_Styles[25].Header_Text = "Processed"; gridPanel.Style.Column_Styles[25].Short_Date_Format = true; gridPanel.Style.Column_Styles[26].Header_Text = "QC'd"; gridPanel.Style.Column_Styles[26].Short_Date_Format = true; gridPanel.Style.Column_Styles[27].Header_Text = "Online"; gridPanel.Style.Column_Styles[27].Short_Date_Format = true; gridPanel.Style.Column_Styles[38].Visible = false; // Set some sort values gridPanel.Style.Column_Styles[9].Ascending_Sort = "Level1_Index ASC, Level2_Index ASC, Level3_Index ASC"; gridPanel.Style.Column_Styles[9].Descending_Sort = "Level1_Index DESC, Level2_Index DESC, Level3_Index DESC"; gridPanel.Style.Column_Styles[11].Ascending_Sort = "Level2_Index ASC, Level3_Index ASC"; gridPanel.Style.Column_Styles[11].Descending_Sort = "Level2_Index DESC, Level3_Index DESC"; gridPanel.Style.Column_Styles[5].Ascending_Sort = "SortTitle ASC, Level1_Index ASC, Level2_Index ASC, Level3_Index ASC"; gridPanel.Style.Column_Styles[5].Descending_Sort = "SortTitle DESC, Level1_Index DESC, Level2_Index DESC, Level3_Index DESC"; gridPanel.Style.Column_Styles[8].Ascending_Sort = "SortDate ASC, SortTitle ASC, Level1_Index ASC, Level2_Index ASC, Level3_Index ASC"; gridPanel.Style.Column_Styles[8].Descending_Sort = "SortDate DESC, SortTitle DESC, Level1_Index DESC, Level2_Index DESC, Level3_Index DESC"; gridPanel.Double_Clicked += gridPanel_Double_Clicked; gridPanel.Clipboard_Copy_Requested += new CustomGrid_Panel_Delegate_Multiple(gridPanel_Clipboard_Copy_Requested); // Add the context menu gridPanel.Set_Context_Menus(null, contextMenu1); // Add the object to print gridPrinter = new CustomGrid_Printer(gridPanel, printDocument1); // Set the hits value hitCountLabel.Text = "Your search resulted in " + number_to_string(displaySet.Tables[0].Rows.Count) + " items in " + number_to_string(displaySet.Tables[1].Rows.Count) + " titles"; // Set the size correctly Size = SMaRT_UserSettings.Ad_Hoc_Report_Form_Size; int screen_width = Screen.PrimaryScreen.WorkingArea.Width; int screen_height = Screen.PrimaryScreen.WorkingArea.Height; if ((Width > screen_width) || (Height > screen_height) || (SMaRT_UserSettings.Ad_Hoc_Report_Form_Maximized)) { WindowState = FormWindowState.Maximized; } // GEt the username username = Environment.UserName; // Set the action on click if (SMaRT_UserSettings.Ad_Hoc_Form_Action_On_Click == View_Items_Form_Action_On_Click_Enum.Open_On_Web) { openItemFromWebMenuItem.Checked = true; viewItemFormMenuItem.Checked = false; } else { openItemFromWebMenuItem.Checked = false; viewItemFormMenuItem.Checked = true; } }
/// <summary> Constructor for a new instance of this class </summary> /// <param name="resultSet"> Results set to display </param> //public Results_Form(DataTable resultSet, ArrayList resultList, SobekCM_Item bibPackage) public Results_Form(DataTable resultSet, Importer_Type_Enum importerType, bool preview_mode) { // Initialize this form InitializeComponent(); // Perform some additional work if this was not XP theme if (!Windows_Appearance_Checker.is_XP_Theme) { saveButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; printButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; closeButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; } // Save these values this.resultTable = resultSet; // Show the result set customGrid_Panel1.DataTable = resultSet; // Set some overall styles customGrid_Panel1.Style.Default_Column_Color = System.Drawing.Color.LightBlue; customGrid_Panel1.Style.Header_Back_Color = Color.DarkBlue; customGrid_Panel1.Style.Header_Fore_Color = Color.White; customGrid_Panel1.Style.Default_Column_Color = System.Drawing.Color.LightBlue; // assign the context menu to the custom grid this.customGrid_Panel1.Double_Clicked += new CustomGrid_Panel_Delegate_Single(this.customGrid_Panel1_Double_Clicked); this.customGrid_Panel1.ContextMenu = this.contextMenu1; // determine what should be displayed on the results form switch (importerType) { case Importer_Type_Enum.MARC: // set column styles for displaying the results table customGrid_Panel1.Style.Column_Styles[0].Visible = false; customGrid_Panel1.Style.Column_Styles[1].Header_Text = "Bib ID"; customGrid_Panel1.Style.Column_Styles[1].Fixed_Print_Width = 100; customGrid_Panel1.Style.Column_Styles[1].Width = 100; customGrid_Panel1.Style.Column_Styles[2].Header_Text = "VID"; customGrid_Panel1.Style.Column_Styles[2].Width = 70; customGrid_Panel1.Style.Column_Styles[2].Fixed_Print_Width = 65; customGrid_Panel1.Style.Column_Styles[3].Header_Text = "Comment"; customGrid_Panel1.Style.Column_Styles[3].Width = 200; customGrid_Panel1.Style.Column_Styles[4].Visible = false; customGrid_Panel1.Style.Column_Styles[5].Header_Text = "Aleph"; customGrid_Panel1.Style.Column_Styles[5].Width = 70; customGrid_Panel1.Style.Column_Styles[6].Header_Text = "OCLC"; customGrid_Panel1.Style.Column_Styles[6].Width = 70; customGrid_Panel1.Style.Column_Styles[7].Header_Text = "Bib Title"; customGrid_Panel1.Style.Column_Styles[7].Width = 300; customGrid_Panel1.Style.Column_Styles[7].BackColor = Color.White; customGrid_Panel1.Style.Column_Styles[8].Header_Text = "Volume Title"; customGrid_Panel1.Style.Column_Styles[8].Width = 300; customGrid_Panel1.Style.Column_Styles[8].BackColor = Color.White; customGrid_Panel1.Style.Column_Styles[9].Header_Text = "Author"; customGrid_Panel1.Style.Column_Styles[9].Width = 150; customGrid_Panel1.Style.Column_Styles[9].BackColor = Color.White; customGrid_Panel1.Style.Column_Styles[10].Header_Text = "Type"; customGrid_Panel1.Style.Column_Styles[10].Width = 70; customGrid_Panel1.Style.Column_Styles[11].Header_Text = "Project"; customGrid_Panel1.Style.Column_Styles[11].Width = 70; // set text on menu item this.detailsMenuItem.Text = "Show MARC XML"; this.detailsMenuItem_ContextMenuItem.Text = "Show MARC XML"; this.Text = "MARC Importer - Results Form"; break; case Importer_Type_Enum.METS: case Importer_Type_Enum.Spreadsheet: // set column styles for displaying the results table customGrid_Panel1.Style.Column_Styles[0].Visible = false; customGrid_Panel1.Style.Column_Styles[1].Header_Text = "Bib ID"; customGrid_Panel1.Style.Column_Styles[1].Width = 100; customGrid_Panel1.Style.Column_Styles[1].Fixed_Print_Width = 100; customGrid_Panel1.Style.Column_Styles[2].Header_Text = "VID"; customGrid_Panel1.Style.Column_Styles[2].Width = 70; customGrid_Panel1.Style.Column_Styles[2].Fixed_Print_Width = 65; customGrid_Panel1.Style.Column_Styles[3].Header_Text = "Comment"; customGrid_Panel1.Style.Column_Styles[3].Width = 200; customGrid_Panel1.Style.Column_Styles[4].Visible = false; customGrid_Panel1.Style.Column_Styles[5].Header_Text = "Aleph"; customGrid_Panel1.Style.Column_Styles[5].Width = 70; customGrid_Panel1.Style.Column_Styles[6].Header_Text = "OCLC"; customGrid_Panel1.Style.Column_Styles[6].Width = 70; customGrid_Panel1.Style.Column_Styles[7].Header_Text = "Bib Title"; customGrid_Panel1.Style.Column_Styles[7].Width = 300; customGrid_Panel1.Style.Column_Styles[7].BackColor = Color.White; customGrid_Panel1.Style.Column_Styles[8].Header_Text = "Volume Title"; customGrid_Panel1.Style.Column_Styles[8].Width = 300; customGrid_Panel1.Style.Column_Styles[8].BackColor = Color.White; customGrid_Panel1.Style.Column_Styles[9].Header_Text = "Author"; customGrid_Panel1.Style.Column_Styles[9].Width = 150; customGrid_Panel1.Style.Column_Styles[9].BackColor = Color.White; customGrid_Panel1.Style.Column_Styles[10].Header_Text = "Type"; customGrid_Panel1.Style.Column_Styles[10].Width = 70; customGrid_Panel1.Style.Column_Styles[11].Header_Text = "Project"; customGrid_Panel1.Style.Column_Styles[11].Width = 70; // set text on menu item this.detailsMenuItem.Text = "Show METS"; this.detailsMenuItem_ContextMenuItem.Text = "Show METS"; if (importerType == Importer_Type_Enum.METS) { this.Text = "METS Importer - Results Form"; } else { this.Text = "SpreadSheet Importer - Results Form"; } break; } if (preview_mode) { this.Text = this.Text + " (PREVIEW ONLY!)"; } // Set the default print as landscape printDocument1.DefaultPageSettings.Landscape = true; // Create the object to print the grid gridPrinter = new CustomGrid_Printer(customGrid_Panel1, printDocument1); }