Ajout de contrôles Cell dans les feuilles de calcul
Introduction
Actuellement, Aspose.Cells.GridDesktop prend en charge l’ajout de trois types de contrôles de cellule, notamment :
- Bouton
- Case à cocher
- Boîte combo
Tous ces contrôles sont dérivés d’une classe abstraite,CellControlChaque feuille de travail contient une collection deLes contrôles. De nouveaux contrôles de cellule peuvent être ajoutés et les contrôles existants sont accessibles à l’aide de cetteLes contrôlescollecte facilement.
**IMPORTANT:**Si vous souhaitez ajouter des contrôles de cellule à toutes les cellules d’une colonne au lieu d’en ajouter une par une, vous pouvez vous référer àGestion des contrôles Cell en colonnes.
Ajouter un bouton
Pour ajouter un bouton dans la feuille de calcul à l’aide de Aspose.Cells.GridDesktop, veuillez suivre les étapes ci-dessous :
- Ajoutez le contrôle Aspose.Cells.GridDesktop à votreFormulaire
- Accédez à toutFeuille de travail
- AjouterBoutonauLes contrôlescollecte de laFeuille de travail
En ajoutantBouton, 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’ajoutBoutoncontrôle à laFeuille de travailmais quel est l’avantage d’avoir juste un bouton dans la feuille de calcul si nous ne pouvons pas l’utiliser. Donc, voici le besoin de gestion des événements du bouton.
Pour gérer leCliquez surévénement de laBoutoncontrôle, Aspose.Cells.GridDesktop fournitClicBoutonCelluleévénement qui devrait être mis en œuvre par les développeurs en fonction de leurs besoins. Pour une instance, nous venons d’afficher un message lorsque le bouton est cliqué comme indiqué ci-dessous :
Spécification d’une image d’arrière-plan pour le contrôle de bouton
Nous pouvons définir une image/image d’arrière-plan pour le contrôle du bouton avec son étiquette/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 cellule contiennent unCellControlEventArgsCellControlEventArgsargument qui fournit les numéros de ligne et de colonne de la cellule qui contient le contrôle de cellule (dont l’événement est déclenché).
Ajout d’une case à cocher
Pour ajouter une case à cocher dans la feuille de calcul à l’aide de Aspose.Cells.GridDesktop, veuillez suivre les étapes ci-dessous :
- Ajoutez le contrôle Aspose.Cells.GridDesktop à votreFormulaire
- Accédez à toutFeuille de travail
- AjouterCase à cocherauLes contrôlescollecte de laFeuille de travail
// 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); |
En ajoutantCase à cocher, nous pouvons spécifier l’emplacement de la cellule (où l’afficher) et l’état de la case à cocher.
Gestion des événements de CheckBox
Aspose.Cells.GridDesktop fournitCelluleVérifiéeModifiéeévénement qui se déclenche lorsque leVérifiél’état de la case à cocher est modifié. Les développeurs peuvent gérer cet événement en fonction de leurs besoins. Pour une instance, nous venons d’afficher un message pour montrer leVérifiéétat 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 d’un ComboBox
Pour ajouter une zone de liste déroulante dans la feuille de calcul à l’aide de Aspose.Cells.GridDesktop , veuillez suivre les étapes ci-dessous :
- Ajoutez le contrôle Aspose.Cells.GridDesktop à votreFormulaire
- Accédez à toutFeuille de travail
- Créez un tableau d’éléments (ou de valeurs) qui seront ajoutés àBoîte combo
- AjouterBoîte comboauLes contrôlescollecte de laFeuille de travailen 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é
// 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 des événements de ComboBox
Aspose.Cells.GridDesktop fournitCellSelectedIndexChangedévénement qui se déclenche lorsque leIndex sélectionnéde combobox est modifié. Les développeurs peuvent gérer cet événement selon leurs envies. Pour une instance, nous venons d’afficher un message pour montrer leÉ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()); | |
} |