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
// 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 button to the Controls collection of the Worksheet
Aspose.Cells.GridDesktop.Button button = sheet.Controls.AddButton(cl.Row, cl.Column, 80, 20, "Button");

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 :

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Implenting CellButtonClick event handler
private void gridDesktop1_CellButtonClick(object sender, CellControlEventArgs e)
{
// Displaying the message when button is clicked
MessageBox.Show("Button is clicked.");
}

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());
}