Aggiunta di controlli Cell nei fogli di lavoro

introduzione

Attualmente, Aspose.Cells.GridDesktop supporta l’aggiunta di tre tipi di controlli cella, che includono quanto segue:

  • Pulsante
  • Casella di controllo
  • Casella combinata

Tutti questi controlli derivano da una classe astratta,CellControlOgni foglio di lavoro contiene una raccolta diControlli. È possibile aggiungere nuovi controlli cella e accedere a quelli esistenti utilizzando questoControlliraccolta facilmente.

**IMPORTANTE:**Se desideri aggiungere controlli di cella a tutte le celle di una colonna invece di aggiungerne uno per uno, puoi fare riferimento aGestione dei controlli Cell nelle colonne.

Aggiunta di pulsante

Per aggiungere un pulsante nel foglio di lavoro utilizzando Aspose.Cells.GridDesktop, procedi nel seguente modo:

  • Aggiungi il controllo Aspose.Cells.GridDesktop al tuoModulo
  • Accedi a qualsiasi desideratoFoglio di lavoro
  • AggiungerePulsantealControlliraccolta delFoglio di lavoro
// 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");

Durante l’aggiuntaPulsante, possiamo specificare la posizione della cella (dove visualizzarla), la larghezza e l’altezza e la didascalia del pulsante.

Gestione degli eventi del pulsante

Abbiamo discusso sull’aggiuntaPulsantecontrollo alFoglio di lavoroma qual è il vantaggio di avere solo un pulsante nel foglio di lavoro se non possiamo usarlo. Quindi, ecco che nasce la necessità della gestione degli eventi del pulsante.

Per gestire ilClicevento delPulsantecontrollo, Aspose.Cells.GridDesktop fornisceCellButtonClicevento che dovrebbe essere implementato dagli sviluppatori in base alle loro esigenze. Ad esempio, abbiamo appena visualizzato un messaggio quando si fa clic sul pulsante, come mostrato di seguito:

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

Specifica di un’immagine di sfondo per il controllo pulsante

Possiamo impostare l’immagine/immagine di sfondo per il controllo del pulsante con la sua etichetta/testo come mostrato nel codice seguente:

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

IMPORTANTE:Tutti gli eventi dei controlli cella contengono aCellControlEventArgsargomento che fornisce i numeri di riga e colonna della cella che contiene il controllo cella (il cui evento viene attivato).

Aggiunta di CheckBox

Per aggiungere una casella di controllo nel foglio di lavoro utilizzando Aspose.Cells.GridDesktop, procedi nel seguente modo:

  • Aggiungi il controllo Aspose.Cells.GridDesktop al tuoModulo
  • Accedi a qualsiasi desideratoFoglio di lavoro
  • AggiungereCasella di controlloalControlliraccolta delFoglio di lavoro
// 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);

Durante l’aggiuntaCasella di controllo, possiamo specificare la posizione della cella (dove visualizzarla) e lo stato della casella di controllo.

Gestione degli eventi di CheckBox

Aspose.Cells.GridDesktop fornisceCellCheckedChangedevento che viene attivato quando ilControllatolo stato della casella di controllo è cambiato. Gli sviluppatori possono gestire questo evento in base alle proprie esigenze. Ad esempio, abbiamo appena visualizzato un messaggio per mostrare il fileControllatostato della casella di controllo nel codice seguente:

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

Aggiunta di ComboBox

Per aggiungere una casella combinata nel foglio di lavoro utilizzando Aspose.Cells.GridDesktop , procedi nel seguente modo:

  • Aggiungi il controllo Aspose.Cells.GridDesktop al tuoModulo
  • Accedi a qualsiasi desideratoFoglio di lavoro
  • Crea un array di elementi (o valori) a cui verranno aggiuntiCasella combinata
  • AggiungereCasella combinataalControlliraccolta delFoglio di lavorospecificando la posizione della cella (dove verrà visualizzata la casella combinata) e gli elementi/valori che verranno visualizzati quando si fa clic sulla casella combinata
// 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);

Gestione degli eventi di ComboBox

Aspose.Cells.GridDesktop fornisceCellSelectedIndexChangedevento che viene attivato quando ilIndice selezionatodella casella combinata è cambiato. Gli sviluppatori possono gestire questo evento secondo i loro desideri. Ad esempio, abbiamo appena visualizzato un messaggio per mostrare il fileArticolo selezionatodella casella combinata:

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