jueves, 30 de julio de 2009

Manual de VB .Net

Este manual lo encontre navegando por la web, y parte de los archivos PDF's mi profesor de visual basic me los compartio en clase para darle una repasada.

Espero que les ayude en este lenguaje, ya que es un lenguaje de una sintaxis facil de entender y muy práctico para el manejo de formularios. Pues akiles dejo el enlace de descarga:

DESCARGAR:
http://www.willydev.net/descargas/Cursos/vbnet/

lunes, 27 de julio de 2009

Capturar datos de un DataGridView

Este artículo tara como grabar los datos seleccionados en una celda del DataGridView, es decir recuperarlo para su posterior uso.

Primeramente, como acostumbro voy a mostrarle el codigo; para esto tengo dos formas de hacerlo:

  1. Usando el With..End With:
           Dim cod as String
    With DataGridView1
    cod = .Item(0, .CurrentCell.RowIndex).Value)
    End With
  2. Sin usar With..End With:
           Dim cod as String       
    cod = DataGridView1.Item(0, DataGridView1_
    .CurrentCell.RowIndex).Value)
´

La explicacion es muy simple para ambos casos, utilizamos la propiedad Item para poder localizar la celda de donde se va a recuprera los datos. Primeramente escribimos el indice de la columna (en este caso es cero) y luego el indice de la fila (en este caso captura la fila seleccionada).

viernes, 17 de julio de 2009

TextBox en un DataGridView

Ahora veremos como insertar TextBoxs en una columna de un DataGridView, esto nos sirve para hacer modificaciones en los datos insertados.

Primeramente crearemos un procedimiento donde se ingresaran 5 parametros :
Sub ColText(ByVal obj As DataGridViewTextBoxColumn,_
ByVal campo As String, ByVal nomtext As String,_
ByVal headertext As String, ByVal estado As Boolean)
If TypeOf obj Is DataGridViewTextBoxColumn Then
'enlazando un campo a la caja de texto
obj.DataPropertyName = campo
obj.Name = nomtext
obj.HeaderText = headertext
'aliniamiento de la celda de texto
obj.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
'especificando si la caja de texto esta en solo lectura o no
obj.ReadOnly = estado
Me.DataGridView1.Columns.Add(obj) ' agregando la columna
End If
End Sub


El parametro obj es un objeto de tipo DataGridViewTextBoxColumn, campo el nombre de campo de la tabla utilizada de la BD, nomtext es el nombre de de TextBox,headertext es la cabecera de la columna, estado es para ver si solo es de lectura.

Los metodos utilizados:
  • DataPropertyName : Sirve para mostrar los datos de un campo de una tabla de BD.
  • Name : Para guardar el nombre del TextBox
  • HeaderText : Para la cabecera de la columna
  • DefaultCellStyle.Alignment : Para la alineacion de los registros
  • ReadOnly : Para la lectura de datos(true o false)


Ahora vamos a ver el procedimiento donde agregamos las cajas de texto.
Try
'Habilitando a escritura
Me.DataGridView1.ReadOnly = False
Me.DataGridView1.DataSource = tbl
'Limpienado las columnas anteriores, para establecer las nuevas columnas
Me.DataGridView1.Columns.Clear()
'Agregando las columnas tipo texto al datagridview1
Dim objt1, objt2, objt3, objt4, objt5, objt6, objt7 As New_
DataGridViewTextBoxColumn
ColText(objt1, "Alu_cod", "txtcod", "Codigo", True)
ColText(objt2, "Alu_nom", "txtnombre", "Alumno", True)
ColText(objt3, "N1", "txtn1", "Nota 1", False)
ColText(objt4, "N2", "txtn2", "Nota 2", False)
ColText(objt5, "N3", "txtn3", "Nota 3", False)
ColText(objt6, "Promedio", "txtpp", "Promedio", True)
ColText(objt7, "estadoalumno", "txtestado", "Estado", True)
'Redimencionando las columnas
Me.DataGridView1.AutoResizeColumn(DataGridViewAutoSizeColumnMode._
AllCells)
Catch ex As Exception

End Try

sábado, 11 de julio de 2009

Formato de un ListView

En este post cargaremos un Listview en modo de ejecución, como se ve en la imagen:



El codigo para esto es el siguiente:


Private Sub Form2_Load(ByVal sender As System.Object,_
ByVal e As System.EventArgs)Handles MyBase.Load
'formato del ListView1
With ListView1
.View = View.Details
.GridLines = True
.FullRowSelect = True
.CheckBoxes = True
.Columns.Add("IdCliente", 80, _
HorizontalAlignment.Left)
.Columns.Add("NombreCompañia", 220, _
HorizontalAlignment.Left)
End With
'Aqui viene mas codigo de como insertar los datos al ListView
End Sub

Propiedades utilizadas:
  1. La propiedad .View nos muestra el listviewcomo se va mostrar el listview.

  2. La propiedad .GridLines no muestra un formato de grillas, como un el de un DataGridView.

  3. La propiedad .FullRowSelect no permite seleccionar varios items del listview.

  4. La propiedad .CheckBoxes permite insertar checkboxs a listview.

  5. La propiedad .Columns.Add(encabezado,longitud,alineación) nos permite agregar columnas al listview dandole un encabezado o titulo,la longitud y la alineación del contenido de la columna.

miércoles, 1 de julio de 2009

Guardar datos en un ListBox

Como anteriormente ya deje un post para ver como se guardan datos en un ComboBox; ahora veremos como guardar datos en un listbox.

Primeramente veremos las propiedades mas comunes que utilizaremos y son:


  • DataSource: nos permite guardas valores de un DataTable

  • DisplayMenber: nos permite guardar un capo al igual que el combobox

  • ValueMenber: nos permite guardar otro campo.


Aplicacion: Mostrar los productos por categoria en un DataGridView para eso guarderemos los productos en un listbox y al hacer click en uno de ellos mostrarlos.

Nota: Utilizaremos una conexion a SqlClient


'importamos los elementos
Imports System.data
Imports System.Data.SqlClient 'Proveedor de Sql Server

Public Class Form1
'Paso 1: Creando la cadena de conexion
Dim cad as tring = "Server=(local);IntegratedSecurity=SSPI;Database=Neptuno"
Dim cn As New SqlConnection(cad)

'evento load del form
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Paso 2: Listando los datos en el ListBox
Dim strsql As String = "Select idproducto,nombreproducto From productos"
Dim da As New SqlDataAdapter(strsql, cn)
'creando una tabla en memoria
Dim tbl As New DataTable
'copiando los datos del DataAdapter al DataTable
da.Fill(tbl)
'Mostrando los datos en el ListBox
ListBox1.DataSource = tbl
ListBox1.DisplayMember = "nombreproducto"
ListBox1.ValueMember = "idproducto"
LBLCANTIDAD.Text = ListBox1.Items.Count
End Sub
End Class

Funciones y procedimeintos en vb.net

Los procedimientos som proceso que no devuelven un valor especifico, esta es la sintaxis:

Sub N0mbredelProcedimiento()
cuerpo
End sub

Aqui les va un ejemplo: Crear un procedimiento que permita limpiar los TextBox de un formulario.



Sub limpiar()
Dim obj As Object
For Each obj In Me.Controls
If TypeOf obj Is TextBox Then
obj.text = ""
End If
Next
End Sub


El For Each nos ayuda a buscar los objetos que son TextBox y los limpia.

NOTA: Los TextBox que esten dentro de de un groupbox no se limpiaran por que los toma fuera del formulario.

En cambio las funciones davuelven un valor específico y puede recibir parametros.

EJEMPLO: Crear una funcion que devuelven la suma de dos numeros que se reciben como parametros.


Function suma(ByVal x As Integer,ByVal y As Integer) As Integer
Dim suma As Integer
suma = x + y
Return suma
End Function

Los parametros son: x, y (valores enteros) y el valor a retornar es: suma.