Ajout de contrôles de cellules dans les feuilles de calcul
Introduction
Actuellement, Aspose.Cells.GridDesktop prend en charge l’ajout de trois types de contrôles de cellules, qui comprennent les éléments suivants :
- Bouton
- Case à cocher
- Zone de liste déroulante
Tous ces contrôles sont dérivés d’une classe abstraite, CellControl. Chaque feuille de calcul contient une collection de Contrôles. De nouveaux contrôles de cellules peuvent être ajoutés et les existants peuvent être accédés en utilisant cette collection de Contrôles facilement.
IMPORTANT : Si vous souhaitez ajouter des contrôles de cellules à toutes les cellules d’une colonne au lieu d’ajouter un par un, vous pouvez consulter Gérer les contrôles de cellules dans les colonnes.
Ajout d’un bouton
Pour ajouter un bouton dans la feuille de calcul à l’aide de Aspose.Cells.GridDesktop, veuillez suivre les étapes ci-dessous :
- Ajouter le contrôle Aspose.Cells.GridDesktop à votre Formulaire
- Accéder à n’importe quelle Feuille de calcul désirée
- Ajouter un Bouton à la collection de Contrôles de la Feuille de calcul
Lors de l’ajout d’un Bouton, nous pouvons spécifier l’emplacement de la cellule (où l’afficher), la largeur et la hauteur et la légende du bouton.
Gestion des événements du bouton
Nous avons discuté de l’ajout du contrôle Bouton à la Feuille de calcul mais quel est l’avantage d’avoir simplement un bouton dans la feuille de calcul si nous ne pouvons pas l’utiliser. Ainsi, voici la nécessité de la gestion des événements du bouton.
Pour gérer l’événement Clic du contrôle Bouton, Aspose.Cells.GridDesktop fournit l’événement CellButtonClick qui doit être implémenté par les développeurs selon leurs besoins. Par exemple, nous avons simplement affiché un message lorsque le bouton est cliqué comme indiqué ci-dessous :
Spécifier une image d’arrière-plan pour le contrôle de bouton
Nous pouvons définir une image d’arrière-plan pour le contrôle de bouton avec son libellé/texte comme indiqué dans le code ci-dessous :
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = Utils.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Set the image. | |
Image image = Image.FromFile(dataDir + @"AsposeLogo.jpg"); | |
button.Image = image; |
IMPORTANT: Tous les événements des contrôles de cellules contiennent un argument CellControlEventArgs qui fournit les numéros de ligne et de colonne de la cellule contenant le contrôle de cellule (dont l’événement est déclenché).
Ajout de CheckBox
Pour ajouter une case à cocher dans la feuille de calcul en utilisant Aspose.Cells.GridDesktop, veuillez suivre les étapes ci-dessous:
- Ajouter le contrôle Aspose.Cells.GridDesktop à votre Formulaire
- Accéder à n’importe quelle Feuille de calcul désirée
- Ajouter une CheckBox à la collection des Contrôles de la Feuille de calcul
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Accessing the worksheet of the Grid that is currently active | |
Worksheet sheet = gridDesktop1.GetActiveWorksheet(); | |
// Accessing the location of the cell that is currently in focus | |
CellLocation cl = sheet.GetFocusedCellLocation(); | |
// Adding checkbox to the Controls collection of the Worksheet | |
sheet.Controls.AddCheckBox(cl.Row, cl.Column, true); |
Lors de l’ajout d’une CheckBox, nous pouvons spécifier l’emplacement de la cellule (où l’afficher) et l’état de la case à cocher.
Gestion d’événements de la case à cocher
Aspose.Cells.GridDesktop fournit un événement CellCheckedChanged qui est déclenché lorsque l’état Checked de la case à cocher est modifié. Les développeurs peuvent gérer cet événement selon leurs besoins. Par exemple, nous venons d’afficher un message pour montrer l’état Checked de la case à cocher dans le code ci-dessous:
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Implenting CellCheckedChanged event handler | |
private void gridDesktop1_CellCheckedChanged(object sender, CellControlEventArgs e) | |
{ | |
// Getting the reference of the CheckBox control whose event is triggered | |
Aspose.Cells.GridDesktop.CheckBox check = (Aspose.Cells.GridDesktop.CheckBox)gridDesktop1.GetActiveWorksheet().Controls[e.Row, e.Column]; | |
// Displaying the message when the Checked state of CheckBox is changed | |
MessageBox.Show("Current state of CheckBox is " + check.Checked); | |
} |
Ajout de ComboBox
Pour ajouter une combobox dans la feuille de calcul en utilisant Aspose.Cells.GridDesktop, veuillez suivre les étapes ci-dessous:
- Ajouter le contrôle Aspose.Cells.GridDesktop à votre Formulaire
- Accéder à n’importe quelle Feuille de calcul désirée
- Créer un tableau d’éléments (ou valeurs) qui seront ajoutés à la ComboBox
- Ajouter une ComboBox à la collection des Contrôles de la Feuille de calcul en spécifiant l’emplacement de la cellule (où la combobox sera affichée) et les éléments/valeurs qui seront affichés lorsque la combobox sera cliquée
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Accessing the worksheet of the Grid that is currently active | |
Worksheet sheet = gridDesktop1.GetActiveWorksheet(); | |
// Accessing the location of the cell that is currently in focus | |
CellLocation cl = sheet.GetFocusedCellLocation(); | |
// Creating an array of items or values that will be added to combobox | |
string[] items = new string[3]; | |
items[0] = "Aspose"; | |
items[1] = "Aspose.Grid"; | |
items[2] = "Aspose.Grid.Desktop"; | |
// Adding combobox to the Controls collection of the Worksheet | |
sheet.Controls.AddComboBox(cl.Row, cl.Column, items); |
Gestion d’événements de la ComboBox
Aspose.Cells.GridDesktop fournit un événement CellSelectedIndexChanged qui est déclenché lorsque l'Index Sélectionné de la combobox est modifié. Les développeurs peuvent gérer cet événement selon leurs désirs. Par exemple, nous venons d’afficher un message pour montrer l'Élément Sélectionné de la combobox:
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Implenting CellSelectedIndexChanged event handler | |
private void gridDesktop1_CellSelectedIndexChanged(object sender, CellComboBoxEventArgs e) | |
{ | |
// Getting the reference of the ComboBox control whose event is triggered | |
Aspose.Cells.GridDesktop.ComboBox combo = | |
(Aspose.Cells.GridDesktop.ComboBox)gridDesktop1.GetActiveWorksheet().Controls[e.Row, e.Column]; | |
// Displaying the message when the Selected Index of ComboBox is changed | |
MessageBox.Show(combo.Items[combo.SelectedIndex].ToString()); | |
} |