Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/06/2012, 07:19
Avatar de junior1920
junior1920
 
Fecha de Ingreso: noviembre-2010
Ubicación: Tumán
Mensajes: 77
Antigüedad: 13 años, 4 meses
Puntos: 1
Pregunta Refresh datagridview!!!!!

Hola nuevamente aqui con otro problemita y es el siguiente:
Estroy trabajando en capas
En la capa presentación tengo los formularios:
menuprincipal - MDI
listacategoria
Registrarcategoria
Lo que pasa es que al insertar un nuevo registro no me actualiza o no me refresca el datagridview para ver el registro insertado; acabo de ver en los foros y hay unos que utilizan
Código vb:
Ver original
  1. form.showdialog
  2. cargarlista
Pero no me parece lo mejor en fin por ahi alguna idea de como puedo lograr eso
les dejo el codigo

1*CApaAccesodatos
clase: CategoriaAD
Código vb:
Ver original
  1. Imports System.Data
  2. Imports Npgsql
  3. Imports NpgsqlTypes
  4. imports EntidadNegocio
  5. Public Class CategoriaAD
  6.     Private conn As New NpgsqlConnection
  7.     Private comando As New NpgsqlCommand
  8.     #Region "Cadena de conexion"
  9.     Public Sub New()
  10.         Dim Objconexion As New conexion
  11.         conn = Objconexion.abrir
  12.         comando.Connection=conn
  13.     End Sub
  14.     #End Region
  15.     #Region "Función convertir datos"
  16.     Private Shared Function Convertircategoria(ByVal reader As IDataReader) As CategoriaEN
  17.         Dim categoria As New CategoriaEN()
  18.         categoria.gidcat = Convert.ToInt32(reader("idcat"))
  19.         categoria.gnom_cat = lTrim(RTrim(Convert.ToString(reader("nom_cat"))))
  20.         categoria.gdesc_cat = LTrim(RTrim(Convert.ToString(reader("desc_cat"))))
  21.         Return categoria
  22.     End Function
  23.     #End Region
  24.     #Region "Función listar"
  25.     Public Function listado() As List(Of CategoriaEN)
  26.         Dim listcat As New List(Of CategoriaEN)
  27.         Dim reader As NpgsqlDataReader
  28.         Dim Objcat As CategoriaEN
  29.         Try
  30.             conn.Close()
  31.             conn.Open()
  32.             comando.CommandType=CommandType.Text
  33.             comando.CommandText="SELECT idcat,nom_cat,desc_cat FROM categoria order by nom_cat,idcat asc"
  34.             reader=comando.ExecuteReader
  35.             While reader.Read()
  36.                 listcat.Add(Convertircategoria(reader))
  37.             End While
  38.             Return listcat
  39.         Catch ex As Exception
  40.             MsgBox(ex.Message, MsgBoxStyle.Critical, ex.Source)
  41.         Finally
  42.             conn.Close()
  43.             conn.ClearAllPools
  44.         End Try
  45.     End Function
  46.     #End Region
  47.     #Region "Función insertar"
  48.     Public Sub agregar(ByVal ObjCategoriaEN As CategoriaEN)
  49.         Try
  50.         comando.CommandType=CommandType.StoredProcedure
  51.         comando.CommandText="agrega_categ"
  52.        
  53.         Dim _nom_cat As New NpgsqlParameter("_nom_cat",NpgsqlTypes.NpgsqlDbType.Varchar)
  54.         _nom_cat.Value=ObjcategoriaEN.gnom_cat
  55.         _nom_cat.Direction=ParameterDirection.Input
  56.         comando.Parameters.Add(_nom_cat)
  57.        
  58.         Dim _desc_cat As New NpgsqlParameter("_desc_cat",NpgsqlTypes.NpgsqlDbType.Text)
  59.         _desc_cat.Value=ObjCategoriaEN.gdesc_cat
  60.         _desc_cat.Direction=ParameterDirection.Input
  61.         comando.Parameters.Add(_desc_cat)
  62.         comando.ExecuteNonQuery()
  63.         Catch ex As Exception
  64.             MsgBox(ex.Message, MsgBoxStyle.Critical, ex.Source)
  65.         Finally
  66.             conn.Close()
  67.             conn.ClearAllPools
  68.         End Try
  69.     End Sub
  70.     #End Region
  71. End Class

*2.- Capa: EntidadNegocio
clase: CategoriaEN
Código vb:
Ver original
  1. Public Class CategoriaEN
  2.     Private idcat As Integer
  3.     Private nom_cat As String
  4.     Private desc_cat As String
  5.     '--------------------------
  6.     Public Property gidcat()
  7.         Get
  8.             Return idcat
  9.         End Get
  10.         Set(ByVal value)
  11.             idcat=value
  12.         End Set
  13.     End Property
  14.     '--------------------------
  15.     Public Property gnom_cat()
  16.         Get
  17.             Return nom_cat
  18.         End Get
  19.         Set(ByVal value)
  20.             nom_cat=value
  21.         End Set
  22.     End Property
  23.     '--------------------------
  24.     Public Property gdesc_cat()
  25.         Get
  26.             return desc_cat
  27.         End Get
  28.         Set(ByVal value)
  29.             desc_cat=value
  30.         End Set
  31.     End Property
  32.     '--------------------------
  33. End Class

*3.- Capa: LogicaNegocio
Clase: CategoriaLN
Código vb:
Ver original
  1. Imports AccessoDatos
  2. imports EntidadNegocio
  3. Public Class CategoriaLN
  4.     Private ObjCategoriaAD As CategoriaAD
  5.     Public Sub New()
  6.         ObjCategoriaAD=New CategoriaAD
  7.     End Sub
  8.     Public Sub agregar(ByVal ObjCategoriaEN As CategoriaEN)
  9.         ObjCategoriaAD.agregar(ObjCategoriaEN)
  10.     End Sub
  11.     Public Function listado() As List(Of CategoriaEN)
  12.         return ObjCategoriaAD.listado
  13.     End Function
  14. End Class

*4.- Capa: Presentacion
Form: listcategoria
Código vb:
Ver original
  1. Imports System.Data
  2. Imports EntidadNegocio
  3. Imports LogicaNegocio
  4. Public Partial Class listcategoria
  5.     Public Sub New()
  6.         ' The Me.InitializeComponent call is required for Windows Forms designer support.
  7.         Me.InitializeComponent()
  8.         '
  9.         ' TODO : Add constructor code after InitializeComponents
  10.         '
  11.     End Sub
  12.     Private ObjCategoriaEN As CategoriaEN
  13.     Private ObjCategoriaLN As CategoriaLN
  14.     Public Sub cargarlista()
  15.         Try
  16.             ObjCategoriaEN=New CategoriaEN
  17.             ObjCategoriaLN=New CategoriaLN
  18.             dgwlistcategoria.DataSource=Me.ObjCategoriaLN.listado
  19.        Catch ex As Exception
  20.             MsgBox(ex.Message, MsgBoxStyle.Critical, ex.Source)
  21.        End Try
  22.     End Sub
  23.     Sub ListcategoriaLoad(sender As Object, e As EventArgs)
  24.        cargarlista()
  25.     End Sub
  26.     Sub Button2Click(sender As Object, e As EventArgs)
  27.         frm_insert_cat.Show()
  28.     End Sub
  29.     Sub Button5Click(sender As Object, e As EventArgs)
  30.         cargarlista()
  31.     End Sub
  32. End Class

Form: frm_insert_cat
Código vb:
Ver original
  1. imports System.Windows.Forms
  2. Imports EntidadNegocio
  3. Imports LogicaNegocio
  4. Public Partial Class frm_insert_cat
  5.     Public Sub New()
  6.         ' The Me.InitializeComponent call is required for Windows Forms designer support.
  7.         Me.InitializeComponent()
  8.        
  9.         '
  10.         ' TODO : Add constructor code after InitializeComponents
  11.         '
  12.     End Sub
  13.     Private ObjCategoriaEN As CategoriaEN
  14.     Private ObjCategoriaLN As CategoriaLN
  15.    
  16.     Sub Button2Click(sender As Object, e As EventArgs)
  17.         me.Close()
  18.     End Sub
  19.    
  20.     Sub Button1Click(sender As Object, e As EventArgs)
  21.         Dim listcat As New listcategoria
  22.         Try
  23.             ObjCategoriaEN=New CategoriaEN
  24.             ObjCategoriaLN=New CategoriaLN
  25.             ObjCategoriaEN.gnom_cat=Ltrim(Rtrim(txtnom_cat.Text))
  26.             ObjCategoriaEN.gdesc_cat=Ltrim(Rtrim(txtdesc_cat.Text))
  27.             ObjCategoriaLN.agregar(ObjCategoriaEN)
  28.             Listcat.cargarlista()
  29.             MessageBox.Show("Se grabo correctamente")
  30.             If MessageBox.Show("¿Desea Continuar agregando registros ?","Mensaje",MessageBoxButtons.YesNo,MessageBoxIcon.Question)=Windows.Forms.DialogResult.Yes Then
  31.                 txtnom_cat.Text=""
  32.                 txtdesc_cat.Text=""
  33.                 txtnom_cat.Focus
  34.             Else
  35.                 Me.close()
  36.             End If
  37.         Catch ex As Exception
  38.             MsgBox(ex.Message, MsgBoxStyle.Critical, ex.Source)
  39.         End Try
  40.     End Sub
  41. End Class

Como veran en el form: frm_insert_cat hago un llamado a cargarlista() pero no pasa nada alguien que me pueda orientar