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
// 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");

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 :

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