Adición de controles Cell en hojas de trabajo
Introducción
Actualmente, Aspose.Cells.GridDesktop admite la adición de tres tipos de controles de celda, que incluyen lo siguiente:
- Botón
- Caja
- Caja combo
Todos estos controles se derivan de una clase abstracta,CellControlCada hoja de trabajo contiene una colección deControl S. Se pueden agregar nuevos controles de celda y se puede acceder a los existentes usando esteControl Scolección fácilmente.
**IMPORTANTE:**Si desea agregar controles de celda a todas las celdas de una columna en lugar de agregar uno por uno, puede consultarGestión de controles Cell en columnas.
Añadir botón
Para agregar un botón a la hoja de trabajo usando Aspose.Cells.GridDesktop, siga los pasos a continuación:
- Agregue el control Aspose.Cells.GridDesktop a suFormulario
- Accede a cualquier deseadoHoja de cálculo
- AgregarBotónalControl Scolección de laHoja de cálculo
Mientras agregaBotón, podemos especificar la ubicación de la celda (dónde mostrarla), ancho y alto y el título del botón.
Gestión de eventos de botón
Hemos discutido acerca de agregarBotóncontrolar a laHoja de cálculopero cuál es la ventaja de tener solo un botón en la hoja de trabajo si no podemos usarlo. Entonces, aquí viene la necesidad del manejo de eventos del botón.
para manejar elHacer clicevento de laBotóncontrol, Aspose.Cells.GridDesktop proporcionaClic en el botón de la celdaevento que debe ser implementado por los desarrolladores de acuerdo a sus necesidades. Por ejemplo, acabamos de mostrar un mensaje cuando se hace clic en el botón como se muestra a continuación:
Especificación de una imagen de fondo para el control de botón
Podemos establecer una imagen/imagen de fondo para el control del botón con su etiqueta/texto como se muestra en el código a continuación:
// 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:Todos los eventos de los controles de celda contienen unCellControlEventArgsargumento que proporciona los números de fila y columna de la celda que contiene el control de celda (cuyo evento se activa).
Agregar casilla de verificación
Para agregar una casilla de verificación en la hoja de trabajo usando Aspose.Cells.GridDesktop, siga los pasos a continuación:
- Agregue el control Aspose.Cells.GridDesktop a suFormulario
- Accede a cualquier deseadoHoja de cálculo
- AgregarCajaalControl Scolección de laHoja de cálculo
// 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); |
Mientras agregaCaja, podemos especificar la ubicación de la celda (dónde mostrarla) y el estado de la casilla de verificación.
Manejo de eventos de CheckBox
Aspose.Cells.GridDesktop proporcionaCellCheckedChangedevento que se desencadena cuando elComprobadose cambia el estado de la casilla de verificación. Los desarrolladores pueden gestionar este evento según sus requisitos. Por ejemplo, acabamos de mostrar un mensaje para mostrar elComprobadoestado de la casilla de verificación en el siguiente código:
// 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); | |
} |
Agregar cuadro combinado
Para agregar un cuadro combinado a la hoja de trabajo usando Aspose.Cells.GridDesktop, siga los pasos a continuación:
- Agregue el control Aspose.Cells.GridDesktop a suFormulario
- Accede a cualquier deseadoHoja de cálculo
- Cree una matriz de elementos (o valores) que se agregarán aCaja combo
- AgregarCaja comboalControl Scolección de laHoja de cálculoespecificando la ubicación de la celda (donde se mostrará el cuadro combinado) y los elementos/valores que se mostrarán cuando se haga clic en el cuadro combinado
// 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); |
Manejo de eventos de ComboBox
Aspose.Cells.GridDesktop proporcionaCellSelectedIndexChangedevento que se desencadena cuando elÍndice seleccionadode cuadro combinado se cambia. Los desarrolladores pueden manejar este evento según sus deseos. Por ejemplo, acabamos de mostrar un mensaje para mostrar elItem seleccionadodel cuadro combinado:
// 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()); | |
} |