Vinculación de la hoja de cálculo a un DataSet utilizando el diseñador de hojas de cálculo de GridWeb
Vinculación de una hoja de cálculo con base de datos utilizando el diseñador de hojas de cálculo
**Paso 1: Crear una base de datos de muestra**
- Primero, creamos la base de datos de muestra que se utilizará en este artículo. Estamos utilizando Microsoft Access para crear una base de datos que contiene una tabla llamada Productos. Su esquema se muestra a continuación. Información de diseño de la tabla de Productos
- Se agregan algunos registros ficticios a la tabla Productos. Registros en la tabla de Productos
Paso 2: Diseño de la aplicación de muestra
Se crea y diseña una aplicación web ASP.NET en Visual Studio.NET como se muestra a continuación. Aplicación de muestra diseñada
Paso 3: Conexión con la base de datos utilizando el Explorador de servidores
Es hora de conectarse a la base de datos. Podemos hacerlo fácilmente utilizando el Explorador de servidores en Visual Studio.NET.
- Seleccione Conexión de datos en el Explorador de servidores y haga clic derecho.
- Seleccione Agregar Conexión en el menú. Seleccionar la opción Agregar Conexión
Se muestra el cuadro de diálogo Propiedades del vínculo de datos. El cuadro de diálogo Propiedades del vínculo de datos
Usando este cuadro de diálogo, puede conectarse a cualquier base de datos. De forma predeterminada, le permite conectarse a una base de datos de SQL Server. Para este ejemplo, necesitamos conectarnos con una base de datos de Microsoft Access.
- Haga clic en la pestaña Proveedor.
- Seleccione Proveedor OLE DB Microsoft Jet 4.0 de la lista de Proveedor(es) OLE DB.
- Haga clic en Siguiente. Hacer clic en Siguiente después de seleccionar un proveedor OLE DB
Se abre la página de pestaña Conexión.
- Seleccione el archivo de base de datos de Microsoft Access (en nuestro caso, db.mdb) y haga clic en Aceptar. Hacer clic en el botón Aceptar después de seleccionar el archivo de la base de datos
Paso 4: Crear objetos de conexión de base de datos gráficamente
- Explore las tablas en la base de datos usando el Explorador de servidores. Solo hay una tabla, Productos.
- Arrastre y suelte la tabla Productos desde el Explorador de servidores al Formulario web. Arrastrar la tabla Productos desde el Explorador de servidores y soltarla en el formulario web
Puede aparecer un cuadro de diálogo. Cuadro de diálogo para confirmar la inclusión de la contraseña de la base de datos en la cadena de conexión
Decide si desea incluir la contraseña de la base de datos en la cadena de conexión o no. Para este ejemplo, seleccionamos No incluir contraseña. Se han creado y agregado dos objetos de conexión a la base de datos (oleDbConnection1 y oleDbDataAdapter1). Objetos de conexión a la base de datos (oleDbConnection1 y oleDbDataAdapter1) creados y mostrados
Paso 5: Generando DataSet
Hasta ahora, hemos creado objetos de conexión a la base de datos, pero aún necesitamos un lugar para almacenar los datos después de conectar a la base de datos. Un objeto DataSet puede almacenar datos de manera precisa y también podemos generarlo fácilmente utilizando el entorno de desarrollo integrado (IDE) de VS.NET.
- Selecciona oleDbDataAdaper1 y haz clic derecho.
- Selecciona la opción Generar DataSet en el menú. Seleccionando la opción Generar DataSet
Se muestra el diálogo Generar DataSet. Aquí es posible seleccionar un nombre para el nuevo objeto DataSet que se creará, y qué tablas deben ser agregadas a él.
- Selecciona la opción Agregar este conjunto de datos al diseñador.
- Haz clic en Aceptar. Hacer clic en el botón OK para generar DataSet
Se agrega un objeto dataSet11 al diseñador. DataSet generado y agregado al diseñador
Paso 6: Usando el diseñador de hojas de cálculo
Ahora, es hora de desvelar el secreto.
-
Selecciona el control GridWeb y haz clic derecho.
-
Selecciona la opción Diseñador de hojas de cálculo en el menú.
Seleccionando la opción Diseñador de hojas de cálculo
Se muestra el Editor de la Colección de Hojas de Trabajo (también llamado Diseñador de Hojas de Trabajo). Cuadro de diálogo del Editor de Colección de Hojas de Trabajo
El cuadro de diálogo contiene varias propiedades que se pueden configurar para vincular Sheet1 a cualquier tabla en la base de datos.
- Selecciona la propiedad DataSource. El objeto dataSet11 generado en el paso anterior está listado en el menú.
- Selecciona dataSet11.
- Haz clic en la propiedad DataMember. El Diseñador de Hojas de Trabajo muestra automáticamente una lista de tablas en dataSet11. Solo hay una tabla, Productos.
- Selecciona la tabla Productos. Configuración de las propiedades DataSource y DataMember
- Marca la propiedad BindColumns. Haciendo clic en la propiedad BindColumns
Hacer clic en la propiedad BindColumns abre el Editor de la Colección de BindColumns. El Editor de la Colección de BindColumns
En el Editor de la Colección de BindColumns, todas las columnas de la tabla Productos se agregan automáticamente a la colección BindColumns.
- Selecciona cualquier columna y personaliza sus propiedades. Por ejemplo, puedes modificar la leyenda de cada columna. Modificando la Leyenda de la columna ProductID
- Después de hacer cambios, haz clic en Aceptar.
- Cierra todos los cuadros de diálogo haciendo clic en Aceptar. Finalmente, vuelves a la página WebForm1.aspx. Regresando a la página WebForm1.aspx después de usar el diseñador de hojas de cálculo
Arriba se muestra el nombre de la columna de la tabla Productos. La anchura de las columnas es pequeña, por lo que los nombres completos de algunas columnas no son completamente visibles.
Paso 7: Agregar Código al Controlador de Eventos Page_Load
Hemos utilizado el diseñador de hojas de cálculo y ahora solo tenemos que agregar código al controlador de eventos Page_Load para llenar el objeto dataSet11 con datos de la base de datos (usando oleDbDataAdapter1) y asociar el control GridWeb a dataSet11 llamando a su método DataBind.
- Agregar el código:
C#
//Implementing Page_Load event handler
private void Page_Load(object sender, System.EventArgs e)
{
//Checking if there is not any PostBack
if (!IsPostBack)
{
try
{
//Filling DataSet with data
oleDbDataAdapter1.Fill(dataSet11);
//Binding GridWeb with DataSet
GridWeb1.DataBind();
}
finally
{
//Finally, closing database connection
oleDbConnection1.Close();
}
}
}
VB.NET
'Implementing Page_Load event handler
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Checking if there is not any PostBack
If Not IsPostBack Then
Try
'Filling DataSet with data
oleDbDataAdapter1.Fill(dataSet11)
'Binding GridWeb with DataSet
GridWeb1.DataBind()
Finally
'Finally, closing database connection
oleDbConnection1.Close()
End Try
End If
End Sub
- Verifique el código agregado al controlador de eventos Page_Load. Código agregado al controlador de eventos Page_Load
Paso 8: Ejecutar la Aplicación
Compilar y ejecutar la aplicación: presione Ctrl+F5 o haga clic en Iniciar. Ejecutar la aplicación
Después de la compilación, la página WebForm1.aspx se abre en una ventana del navegador con todos los datos cargados desde la base de datos. Datos cargados en el control GridWeb desde la base de datos
Trabajar con el Control GridWeb
Cuando se cargan datos en el control GridWeb, proporciona a los usuarios un control sobre los datos. El GridWeb ofrece una variedad de características de manipulación de datos.
Validación de datos
Aspose.Cells.GridWeb crea automáticamente reglas de validación apropiadas para todas las columnas vinculadas según los tipos de datos definidos en la base de datos. Vea el tipo de validación de una celda al pasar el cursor sobre ella. Comprobando el tipo de validación de una celda
Here, the selected cell contains the
Eliminación de Filas
Para eliminar una fila, selecciona una fila (o cualquier celda en la fila), haz clic derecho y selecciona Eliminar fila. Seleccionar la opción Eliminar fila del menú
La fila se eliminará instantáneamente. Datos de la cuadrícula (después de eliminar una fila)
Editando Filas
Edita datos en celdas o filas y luego haz clic en Guardar o Enviar para guardar los cambios.
Añadiendo Filas
- Para agregar una fila, haz clic derecho en una celda y selecciona Agregar fila. Seleccionando la opción Agregar fila del menú
Se agrega una nueva fila a la hoja al final de las otras filas. Nueva fila agregada a la cuadrícula
At the left of the new row is an asterisk , indicating that the row is new.
- Agrega valores a la nueva fila.
- Haz clic en Guardar o Enviar para confirmar el cambio. *Guardando cambios en los datos haciendo clic en el botón Guardar
Configuración de formato numérico
En este momento, los precios en la columna de Precio del producto se muestran como valores numéricos. Es posible hacer que se vean como moneda.
- Regresa a Visual Studio.NET.
- Abre el Editor de la Colección de la Columna de Vinculación. La propiedad Tipo de número de la columna Precio del producto está establecida en General. La propiedad Tipo de número establecida en General
- Haga clic en DropDownList y seleccione Currency4 de la lista. La propiedad NumberType cambió a Currency4
- Ejecute la aplicación nuevamente. Los valores en la columna de Precio del Producto ahora son en moneda. Precios de productos en formato Numérico de Moneda
Editando Datos
Hasta ahora, la aplicación solo permite a sus usuarios ver datos de la tabla. Los usuarios pueden editar datos en el control GridWeb, pero al cerrar el navegador y abrir la base de datos, nada ha cambiado. Los cambios realizados no se guardan en la base de datos.
El siguiente ejemplo añade código a la aplicación para que la GridWeb pueda guardar cambios en la base de datos.
- Abra el panel de Propiedades y seleccione el evento SaveCommand del control GridWeb de la lista. Seleccionando el evento SaveCommand de GridWeb
- Haga doble clic en el evento SaveCommand y VS.NET creará el manejador de eventos GridWeb1_SaveCommand.
- Agregue código a este manejador de eventos que actualizará la base de datos con cualquier dato modificado en el DataSet vinculado a la hoja de cálculo usando oleDbDataAdapter1.
C#
//Implementing the event handler for SaveCommand event
private void GridWeb1_SaveCommand(object sender, System.EventArgs e)
{
try
{
//Getting the modified data of worksheet as a DataSet
DataSet dataset = (DataSet)GridWeb1.WorkSheets[0].DataSource;
//Updating database according to modified DataSet
oleDbDataAdapter1.Update(dataset);
}
finally
{
//Closing database connection
oleDbConnection1.Close();
}
}
VB.NET
'Implementing the event handler for SaveCommand event
Private Sub GridWeb1_SaveCommand(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridWeb1.SaveCommand
Try
'Getting the modified data of worksheet as a DataSet
Dim dataset As DataSet = CType(GridWeb1.WorkSheets(0).DataSource, DataSet)
'Updating database according to modified DataSet
oleDbDataAdapter1.Update(dataset)
Finally
'Closing database connection
oleDbConnection1.Close()
End Try
End Sub
También puede revisar el código añadido al manejador de eventos GridWeb1_SaveCommand Código añadido al manejador de eventos GridWeb1_SaveCommand
Guardar cambios en la base de datos usando el botón Guardar ahora definitivamente los guarda.