ASPGrid

El componente de servidor AspGrid ofrece a sus aplicaciones ASP la posibilidad de utilizar un control de tipo rejilla para gestionar los registros de sus bases de datos.

Este componente le permitirá, crear interfaces de acceso a sus bases de datos, independientes del navegador, con tan sólo 3 líneas de código.

En nuestros equipos para los planes de alojamiento web bajo plataforma Windows Plan Empresarial, Plan Master, Plan Master Plus y Plan ISP, se encuentra instalado el componente de servidor AspGrid en su versión 3.1.

Cómo usar AspGrid

El uso de AspGrid bajo ASP requiere, unos pasos básicos, que vamos a relatar con el siguiente ejemplo de código (que deberá adaptar a sus necesidades en su página asp):

<%

' Asignamos el string de conexión
strConnect =  "DSN=dsn.dominio.com"

' Creamos una instancia del objeto rejilla
Set  Grid = Server.CreateObject("Persits.Grid")

' Conectamos el objeto con la  base de datos
Grid.Connect strConnect, "", ""

' Especificamos la  consulta sobre la base de datos
Grid.SQL = "select id, nombre, telefono from  departamentos"

' Ocultamos la columna id
Grid.Cols("id").Hidden =  True

' Especificamos la ubicación de las imágenes de  botón
Grid.ImagePath = "../imagenes/"

' Mostramos la  rejilla
Grid.Display

' Nos desconectamos de la base de  datos
Grid.Disconnect

' Eliminamos el objeto
Set Grid =  Nothing

%>

Básicamente se trata de:

  • Abrir una conexión con la base de datos.
  • Crear el objeto rejilla.
  • Conectar el objeto a la conexión establecida.
  • Especificar la consulta a la base de datos.
  • Visualizar la rejilla.
  • Cerrar la conexión y eliminar el objeto.

 

Veamos el ejemplo paso por paso:

La primera sentencia establece el string de conexión, necesario para conectar a la base de datos (ya sea Access o SQL), a través del DSN:

strConnect = "DSN=dsn.dominio.com"

También puede utilizarse como string de conexión, la cadena completa especificando el driver y ruta en disco de la base de datos. Por ejemplo:

strConnect = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="  &_
Server.MapPath("..dbaspgrid.mdb")

En caso de usar el sistema anterior, si queremos conectar a una base de datos SQL, debe cambiarse el string de conexión por algo similar a:

strConnect ="Provider=SQLOLEDB; Server=nombredelservidorsql;
Database=nombredelabasededatos; UID=usuario; PWD=password"

Posteriormente creamos el objeto rejilla:

Set Grid = Server.CreateObject("Persits.Grid")

La línea

Grid.Connect strConnect, "", ""

indica al objeto rejilla que se conecte a la base de datos especificada en el string de conexión. Como le indicamos:

  • El primer argumento puede ser un DSN de sistema o un string de conexión sin DSN -donde se indican todos los parámetros para el acceso-
  • El segundo y tercer argumentos permiten especificar un usuario y password en el caso de que su base de datos requiera autentificación.
  • Tenga en cuenta que también puede pasar estos datos a través del string de conexión, mediante los atributos "UID=usuario; PWD=password"

La línea

Grid.SQL = "select id, nombre, telefono from departamentos"

especifica la sentencia SQL en la que se basará la rejilla. Para que la misma sea editable, debe estar basada en una tabla que contenga una columna con un campo autonumérico (IDENTITY column), y esta columna debe aparecer en primer lugar en la sentencia.

En el ejemplo, es la clave "id".Si dicha columna no existe, deberá crearla en su base de datos. Esto no le afectará en las claves primarias existentes ni en las relaciones de entidad que ya dispusiera.

La línea

Grid.Cols("id").Hidden = True

oculta la columna ("id"). Es importante que oculte siempre el campo autonumérico o, al menos, lo cree de solo lectura para que la funcionalidad de inserción de registros no se vea dañada. El método acepta además del nombre la referencia numérica a la posición del campo dentro de la consulta SQL. En nuestro caso, el campo "id" es el primero, por lo que la sentencia sería equivalente a:

Grid.Cols(1).Hidden = True

La siguiente línea

Grid.ImagePath = "../imagenes/"

especifica la ubicación relativa de las imágenes de los botones de control, que utiliza el objeto para realizar acciones sobre los registros -como eliminar, añadir, modificar,..-. Si elige colocar las imágenes en el mismo directorio que su fichero asp, no necesitará usar esta propiedad.

La sentencia

Grid.Display

muestra el objeto y permite su utilización. Es la sentencia que habilita el objeto para la manipulación de los registros y que ofrece toda la funcionalidad al mismo.

Finalmente las líneas de código

Grid.Disconnect
Set Grid = Nothing

cierran la conexión con la base de datos y eliminan el objeto.

Algunas características

  • Permite crear un interfaz tipo rejilla editable y basado en web que enlace a una tabla de base de datos en tan solo 3 líneas de código ASP.
  • Interfaz de objetos intuitiva que le permite personalizar la apariencia de los datos en la rejilla.
  • Soporta recordsets con claves extranjeras (foreign-keys recordsets).
  • Soporta controles HTML como listas desplegables (list box), casillas de opción (checkboxes) y cuadros de texto (textareas).
  • Permite transformar campos de datos en enlaces o imágenes.
  • Soporta ordenación por columnas.
  • Botones de navegación.
  • Soporta formularios de datos enlazados.

Además, esta versión ofrece algunas mejoras frente a sus predecesoras:

  • Soporta la gestión de varios registros simultáneamente (edición, salvado o eliminación).
  • Soporta calendarios emergentes basados en JavaScript.
  • Soporte ADO. Permite el uso de objetos externos Recordset y Connection.
  • Soporte completo para validación JavaScript del lado cliente.
  • Botones de navegación ("Top" y "Bottom").

Puede encontrar más información al respecto de las características del producto, así como ejemplos, en la web del AspGrid.