private void InitRecipientsGrid() { if (gridRecipients != null) { gridRecipients.AutoStretchColumnsToFitWidth = true; SourceGrid2.VisualModels.Common vmHeader = new SourceGrid2.VisualModels.FlatHeader(); vmHeader.BackColor = Color.FromArgb(228, 229, 237); SourceGrid2.BehaviorModels.Header bmHeader = new SourceGrid2.BehaviorModels.Header(); // set up the header row gridRecipients.Rows.Insert(0); gridRecipients.Columns.Insert(0); gridRecipients[0, COL_EMAILADDRESS] = new SourceGrid2.Cells.Real.ColumnHeader("Email", vmHeader, bmHeader); gridRecipients.Columns.Insert(1); gridRecipients[0, COL_NAME] = new SourceGrid2.Cells.Real.ColumnHeader("Name", vmHeader, bmHeader); gridRecipients.Columns.Insert(2); gridRecipients[0, COL_COMPANY] = new SourceGrid2.Cells.Real.ColumnHeader("Company", vmHeader, bmHeader); gridRecipients.Columns.Insert(3); gridRecipients[0, COL_INTRO] = new SourceGrid2.Cells.Real.ColumnHeader("Intro", vmHeader, bmHeader); gridRecipients.Columns.Insert(4); gridRecipients[0, COL_CONTACT] = new SourceGrid2.Cells.Real.ColumnHeader("Contact", vmHeader, bmHeader); // Size Column Widths int columnWidth = gridRecipients.Width / gridRecipients.ColumnsCount; for (int i = 0; i < gridRecipients.ColumnsCount; i++) { gridRecipients.Columns[i].Width = columnWidth; } //AddRow(); // first row } }
private void LoadProjectInfo() { try { hshProjects = syncMgr.GetProjects(false); gridProjects.FixedRows = 1; gridProjects.AutoStretchColumnsToFitWidth = true; // create a visual model for right-aligned text with trimming SourceGrid2.VisualModels.Common vmEllipsePath = new SourceGrid2.VisualModels.Common(); vmEllipsePath.StringFormat.Trimming = StringTrimming.EllipsisPath; // create a visual model for flat headers SourceGrid2.VisualModels.Common vmHeader = new SourceGrid2.VisualModels.FlatHeader(); vmHeader.BackColor = Color.FromArgb(228, 229, 237); SourceGrid2.BehaviorModels.Header bmHeader = new SourceGrid2.BehaviorModels.Header(); // set up the header row gridProjects.Rows.Insert(0); // set up the columns gridProjects.Columns.Insert(0); // hidden sync project full path gridProjects[0, 0] = new SourceGrid2.Cells.Real.ColumnHeader("", vmHeader, bmHeader); gridProjects.Columns.Insert(1); // check box column gridProjects[0, 1] = new SourceGrid2.Cells.Real.ColumnHeader("Sync?", vmHeader, bmHeader); gridProjects.Columns.Insert(2); // project name gridProjects[0, 2] = new SourceGrid2.Cells.Real.ColumnHeader("Project Name", vmHeader, bmHeader); gridProjects.Columns.Insert(3); // sync folder short for display gridProjects[0, 3] = new SourceGrid2.Cells.Real.ColumnHeader("Outlook Sync Folder", vmHeader, bmHeader); gridProjects.Columns.Insert(4); // browse button gridProjects[0, 4] = new SourceGrid2.Cells.Real.ColumnHeader("", vmHeader, bmHeader); SizeColumns(); if (hshProjects == null) { return; } // add rows for projects int iRow = 0; foreach (ProjectInfo projInfo in hshProjects.Values) { iRow++; gridProjects.Rows.Insert(iRow); // add row if (!hshProjRows.Contains(projInfo.ProjID)) { hshProjRows.Add(projInfo.ProjID, iRow); } // add each cell individually // sync folder path gridProjects[iRow, col_SyncFolderFull] = new SourceGrid2.Cells.Real.Cell(projInfo.SyncFolder); // checkbox for sync enabled gridProjects[iRow, col_SyncEnabled] = new SourceGrid2.Cells.Real.CheckBox(projInfo.SyncEnabled); // project name gridProjects[iRow, col_ProjName] = new SourceGrid2.Cells.Real.Cell(projInfo.ProjectName); // sync folder short gridProjects[iRow, col_SyncFolder] = new SourceGrid2.Cells.Real.Cell(projInfo.SyncFolderShort); gridProjects[iRow, col_SyncFolder].VisualModel = vmEllipsePath; // browse button gridProjects[iRow, col_BrowseButton] = new SourceGrid2.Cells.Real.Button("...", new SourceGrid2.PositionEventHandler(BrowseOutlookFolders_Click)); FlatHeader vm = new FlatHeader(); vm.BackColor = Color.FromArgb(228, 229, 237); gridProjects[iRow, col_BrowseButton].VisualModel = vm; // TODO: NEXT VERSION ... add a hidden row for additional project settings that displays when // the main project row is selected } } catch (System.Exception ex) { ErrorHandler.PublishError(ex, syncMgr.Logger); } }