public ApercuTabPage() { Name = NAME; Text = TEXT; ApercuDataGridView = new ApercuDataGridView(); Controls.Add(ApercuDataGridView); }
/// <summary> /// Ajoute les colonnes correspondantes aux ControlesCheckBox cochées issues de CtrlsGroupBox.ControlCollection /// Les ajoute dans la ApercuDataGridView passée en paramètre. /// </summary> /// <param name="gridView">ApercuDataGridView accueillant les colonnes</param> public static void AddControlesColumns(ApercuDataGridView gridView) { bool cbNonChecked = false; foreach (CtrlCheckBox control in CtrlsGroupBox.ControlCollection) // pour chaque CheckBox dans CtrlsGroupBox.ControlCollection { if (control.Checked) // si CheckBox Checked { var column = new ControlDataGridViewColumn(control.Text); // création nouvelle colonne avec HeaderText valant le Text de la CheckBox gridView.Columns.Add(column); // ajout de la colonne dans le ApercuDataGridView } else // si CheckBox non Checked { cbNonChecked = true; } } if (!cbNonChecked) // si tous les CheckBox sont Checked { MainForm.AllCtrlsGroupBox.AllCtrlsRadioBtn.Checked = true; // coche AllCtrlsRadioBtn } else { MainForm.AllCtrlsGroupBox.AllCtrlsRadioBtn.Checked = false; // décoche AllCtrlsRadioBtn } }
public AllCtrlsRadioBtn() { AutoSize = true; Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular); Location = new System.Drawing.Point(2, 10); Name = NAME; Text = TEXT; this.Click += (s, e) => { ApercuDataGridView gridView = new ApercuDataGridView(); // création nouveau ApercuDataGridView foreach (CtrlCheckBox control in CtrlsGroupBox.ControlCollection) // pour chaque CheckBox dans ControlCollection (= Controls de MainTabControl) { control.Checked = true; // coche le CheckBox } }; }
public CtrlCheckBox(string label) { Text = label; Dock = DockStyle.Top; AutoSize = true; Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular); Location = new System.Drawing.Point(5, 5); Size = new System.Drawing.Size(80, 24); this.CheckedChanged += (s, e) => { ApercuDataGridView gridView = new ApercuDataGridView(); // création nouveau ApercuDataGridView VehiculeCheckBox.AddVehiculesRows(gridView); // ajout des lignes AddControlesColumns(gridView); // ajout des colonnes MainForm.MainTabControl.ApercuTabPage.ApercuDataGridView = gridView; // Remplacement de MainForm.MainTabControl.ApercuTabPage.ApercuDataGridView par gridView MainForm.MainTabControl.ApercuTabPage.Controls.Clear(); //vider l'onglet ApercuTabPage MainForm.MainTabControl.ApercuTabPage.Controls.Add(gridView); // ajout de ApercuDataGridView dans ApercuTabPage }; }
/// <summary> /// Ajoute les lignes correspondantes aux VehiculeCheckBox cochées issues de VehiculesGroupBox.VehiculesCollection /// Les ajoute dans la ApercuDataGridView passée en paramètre. /// </summary> /// <param name="gridView">ApercuDataGridView accueillant les lignes</param> public static void AddVehiculesRows(ApercuDataGridView gridView) { bool cbNonChecked = false; foreach (VehiculeCheckBox control in VehiculesGroupBox.VehiculesCollection) // pour chaque CheckBox dans VehiculesGroupBox.VehiculesCollection { if (control.Checked) // si CheckBox Checked { gridView.Rows.Add(control.Text.Split(':')[0]); // ajout de la ligne avec immatriculation } else // si CheckBox non Checked { cbNonChecked = true; } } if (!cbNonChecked) // si tous les CheckBox sont Checked { MainForm.AllVehiculesGroupBox.AllVehiculesRadioBtn.Checked = true; // coche AllVehiculesRadioBtn } else { MainForm.AllVehiculesGroupBox.AllVehiculesRadioBtn.Checked = false; // décoche AllVehiculesRadioBtn } }