Maestro-Detalle con UltraWinGrid 2004

Ultima entrega
 

Fecha: 13/May/2005 (03-may-05)
Autor: Lic. Giovanni Cuadra Reyes
Email: [email protected]

Managua, Nicaragua.

La nueva comunidad de desarrollo!!!

 


Esta �ltima entrega es un resumen de los otros dos art�culos anteriores, m�s los nuevos m�todos expuestos para ingresar datos, actualizar o eliminar en una base de datos y m�todos de navegaci�n, as� como tambi�n una nueva entrega en el uso del UltraWinGrid 2004 en conjunto con UltraDropdown. Esta entrega final tiene como objetivo exponer los m�todos para dar de alta o de baja a registros en una base de datos los cuales ser�n utilizados con el espacio de nombre Nicasoft.Net.v1.0.2005.dll versi�n final. Estos m�todos que expondr� a continuaci�n son:

A continuaci�n expondr� el uso de estos m�todos:

METODOS DE NAVEGACION

Estos m�todos tiene como objetivo el poder navegar a trav�s de los registros de una base de datos. Dicho m�todo requiere tres par�metros, de los cuales todos son requeridos. A continuaci�n muestro los nombres de estos tres elementos:

METODOS PARA EDITAR LA BASE DE DATOS

Estos m�todos tiene como objetivo principal, el dar de alta o baja a registros dentro de un dataset utilizando algunos parametros el cual todos son requeridos. A continuaci�n muestro los nombres de estos cuatro elementos:

REQUERIMIENTOS

� VB Express 2005 Beta 1 o Beta 2

� Microsoft Windows XP o superior.

� Mem�ria m�nima 256 RAM.

� Espacio en disco duro de por lo menos 10 Gigas o m�s.

� El software de Infragistics NetAdventage 2004 Volumen 3 (Por lo menos el software de prueba). El cual lo puedes descargar de http://www.infragistics.com/

� Microsoft SQL Server 2000 o superior.

En esta versi�n final del espacio de nombre Nicasoft.Net.v1.0.2005.dll, no expongo m�todo alguno para conexi�n a bases de datos Microsoft Access u otros origines de datos que no sea Microsoft SQL Server 7.0 o 2000. Es importante recalcar que este ejemplo fue probado en la versi�n 2000 de SQL Server.

Iniciare por mostrar el formulario con las nuevas modificaciones:

 

A continuaci�n muestro un fragmento de c�digo correspondiente a los m�todos de navegaci�n y los m�todos que permiten editar la base de datos:

Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click

'--Eliminar productos.

Me.datSource.Delete(Me.DataNorthWind1, "Categories", Me)

End Sub

Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click

'--Salvar productos.

Me.datSource.Update(Me.SqlCn, Me.DataNorthWind1, False)

'--Cerrar actualizaciones.

Me.datSource.UpdateTerminate(Me.DataNorthWind1, Me, "Categories", "Products")

End Sub

Private Sub btnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNew.Click

'--Agregar nuevos productos.

Me.datSource.AddNew(Me.DataNorthWind1, "Categories", Me)

End Sub

Private Sub btnFirts_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFirts.Click

datSource.MoveFirst(Me.DataNorthWind1, "Categories", Me)

'--Aqu� mando a refrescar el contador de registro

Me.lblCountRecord.Text = datSource.RecordCount(Me.DataNorthWind1, "Categories", Me)

End Sub

Private Sub btnPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrev.Click

datSource.MovePrevius(Me.DataNorthWind1, "Categories", Me)

'--Aqui mando a refrescar el contador de registro

Me.lblCountRecord.Text = datSource.RecordCount(Me.DataNorthWind1, "Categories", Me)

End Sub

Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click

datSource.MoveNext(Me.DataNorthWind1, "Categories", Me)

'--Aqu� mando a refrescar el contador de registro

Me.lblCountRecord.Text = datSource.RecordCount(Me.DataNorthWind1, "Categories", Me)

End Sub

Private Sub btnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLast.Click

datSource.MoveLast(Me.DataNorthWind1, "Categories", Me)

'--Aqu� mando a refrescar el contador de registro

Me.lblCountRecord.Text = datSource.RecordCount(Me.DataNorthWind1, "Categories", Me)

End Sub

A continuaci�n expongo m�todos en c�digo para poder modificar algunas caracter�sticas del UltraWindGrid 2004 y su relaci�n con el control UltraDropDown:

''' <summary>

''' Este procedimiento permite configurar y cargar los elementos en la lista

''' del UltraWinGrid.

''' </summary>

''' <remarks></remarks>

Private Sub LoadValueList()

'--Proveedores.

Dim datSuppliers As New DataSet

Try

'--Llenar el dataset de datos.

datSource.FillDataSet(Me.SqlCn, datSuppliers, Me.SqlDatSuppliers)

'--Configurar el origen de datos.

Me.cboSuppliers.DataSource = datSuppliers

'--Configurar columnas.

Me.cboSuppliers.DisplayLayout.Bands(0).Columns(0).Hidden = True

Me.cboSuppliers.DisplayLayout.Bands(0).Columns(1).Width = 150

Me.cboSuppliers.DisplayLayout.Bands(0).Columns(2).Width = 150

Me.cboSuppliers.DisplayLayout.Bands(0).Columns(3).Width = 150

Me.cboSuppliers.ValueMember = "SupplierID"

Me.cboSuppliers.DisplayMember = "CompanyName"

'--Sincronizar los controles.

Me.grdProductos.DisplayLayout.Bands(0).Columns(2).ValueList = Me.cboSuppliers

'--Otra forma para inicializar una lista.

'Dim dt As DataTable = datSuppliers.Tables("Suppliers")

'Dim row As DataRow

''--Programar la lista

'Me.grdProductos.DisplayLayout.ValueLists.Add("suppliers")

'With Me.grdProductos.DisplayLayout.ValueLists("suppliers").ValueListItems

' '--Limpiar la lista.

' .Clear()

' For Each row In dt.Rows

' '--Insertar elementos.

' .Add(row.Item(0), row.Item(1))

' Next

'End With

'--Asignar la lista de valores al campo del proveedor.

'Me.grdProductos.DisplayLayout.Bands(0).Columns(2).Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList

'Me.grdProductos.DisplayLayout.Bands(0).Columns(2).ValueList = Me.grdProductos.DisplayLayout.ValueLists("suppliers")

Catch ex As Exception

'--Este es un mensaje por si ocurre un error.

MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")

End Try

End Sub

Private Sub grdProductos_InitializeLayout(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles grdProductos.InitializeLayout

With e.Layout

'--Ocultar columnas.

.Bands(0).Columns(3).Hidden = True

.Bands(0).Columns(7).Hidden = True

.Bands(0).Columns(8).Hidden = True

.Bands(0).Columns(9).Hidden = True

'--Configurar el ancho de las columnas a mostrar.

.Bands(0).Columns(0).Width = 100

.Bands(0).Columns(1).Width = 180

.Bands(0).Columns(2).Width = 100

.Bands(0).Columns(4).Width = 180

.Bands(0).Columns(5).Width = 110

.Bands(0).Columns(6).Width = 150

'--Cambiar el texto de las columnas.

.Bands(0).Columns(0).Header.Caption = "Id. del producto"

.Bands(0).Columns(1).Header.Caption = "Descripci�n del producto

.Bands(0).Columns(2).Header.Caption = "Proveedor"

.Bands(0).Columns(4).Header.Caption = "Cantidad por unidad"

.Bands(0).Columns(5).Header.Caption = "Precio unitario"

.Bands(0).Columns(6).Header.Caption = "Unidades en almacen"

'--Aliniar contenido de las columnas.

.Bands(0).Columns(5).CellAppearance.TextHAlign = Infragistics.Win.HAlign.Right

.Bands(0).Columns(6).CellAppearance.TextHAlign = Infragistics.Win.HAlign.Right

End With

End Sub

Private Sub grdProductos_InitializeRow(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeRowEventArgs) Handles grdProductos.InitializeRow

e.Row.Cells("CategoryID").Value = Me.txtIdCat.Text

End Sub

A continuaci�n mostrare el formulario en tiempo de ejecuci�n:

 

En la siguiente presentaci�n muestro el formulario en tiempo de dise�o:

 

AGREGANDO LA REFERENCIA

Para que el proyecto pueda ser ejecutado sin problemas se debe de ingresar la referencia del componente DLL o espacio de nombres Nicasoft.v1.0.2005.dll. A continuaci�n muestro paso a paso lo que se debe hacer para poder ingresarla al proyecto:

En el men� proyecto, hacer clic en las propiedades del proyecto, a continuaci�n se mostrara un formulario en el cual tienes que seleccionar la opci�n referencias:

Una vez dentro de este formulario se requiere seleccionar o agregar la referencia que el proyecto requiere, para esto hay dos formas. La primera seleccionarlo de lista si esta se encuentra y la segunda haciendo clic en el bot�n de agregar referencias, el cual te mostrara el siguiente formulario:

  

Una vez que este formulario se encuentre disponible, debes de ubicarte en la carpeta donde se instalo el componente para poder ingresarlo en el proyecto.

 

CAMBIANDO EL NOMBRE DEL SERVIDOR DE RED

Es importante recordar el cambiar el nombre del servidor en el proyecto, ya que si eso no se hace es muy seguro que se enviara un mensaje de error de conexi�n. Para esto lo que se tiene que hacer es �nicamente seleccionar el objeto de conexi�n, luego seleccionar las propiedades de dicho objeto y posteriormente cambiar el nombre del servidor. A continuaci�n muestro la pantalla en la cual tienes que cambiar esta informaci�n:

Conclusiones

Este art�culo de un total de tres entregas, permiten tener una visi�n muy funcional de lo que permite proporcionar el UltraWinGrid 2004 Edici�n #3. Con esta �ltima entrega completo la aplicaci�n permitiendo que el usuario pueda dar de alta o de baja a registros en una base de datos, complement�ndola con nuevas caracter�sticas en el uso de UltraWinGrid en conjunto con UltraDropDown.

Para poder ejecutar este proyecto en VB .NET 2003, lo que se debe hacer �nicamente es cambiar la codificaci�n de acceso a los datos, ya que el espacio de nombres no puede ser ejecutado en versiones anteriores de VB Express 2005. Por lo tanto una vez modificado estos objetos, solo se tiene que hacer referencia a los controles respectivos de datos que se encuentran en el formulario.

Para todas aquellas personas que me han escrito consult�ndome el uso de UltraWinGrid 2004, les adelanto que ya he evaluado algunos controles de la versi�n Beta 1.0 de la edici�n 2005 de Infragistic Net Adventage, el cual funciona estable en VB .NET 2003 y VB Express 2005.

Quiero despedir este art�culo agradeciendo a todas aquellas personas que me han escrito, consult�ndome informaci�n no solo de este art�culo si no de los anteriores y que poco a poco les ir� dando respuesta a sus preguntas.

 

"En cada coyuntura, las herramientas avanzadas han sido la clave de una nueva ola de aplicaciones, y cada ola de aplicaciones ha resultado un factor fundamental para ascender a un nuevo nivel en el mundo de la inform�tica".
- Bill Gates

 


Espacios de nombres usados en el c�digo de este art�culo:

Nicasoft.Net.v1.0.2005 (Haga clic aqu� para descargar el espacio de nombres)

System.Data.SqlClient

System.Data


Fichero con el c�digo de ejemplo: gcuadra_UltraWinGrid2004_Entrega_Final.zip - Tama�o 83 KB

 

ir al índice