Archive for the ‘.NET’ Category

Herencia de Formularios – Problema DataGridView

Martes, mayo 18th, 2010

Tengo un nuevo proyecto que desarrollar en .NET, específicamente C#

En un intento por hacer menos trabajo comencé a usar las herencias de formulario, ya que como todos deberíamos saber en .NET todo es un objeto, por lo que cualquier cosa debiese poder ser heredable a menos que se especifique explicitamente que no sea así.

Por lo que grande fue mi sorpresa al crear un formulario “plantilla” y luego crear formularios hijos, todo resulta bien mientras al formulario padre le declares los controles como Modifiers = Protectec en las propiedades de cada control.

De esa forma podremos modificar los controles del formulario hijo, pero… no resulta con el DataGridView (Visual Studio 2008 por si luego lo habilitan), así que no traten de luchar contra la corriente. Tomé una vía alternativa.

Consiste en crear todos los controles, menos, el DataGridView, en cada formulario hijo lo creo manualmente y punto.

Obtener valor de campos invisibles en gridviews VB.NET

Viernes, diciembre 18th, 2009
.NET

.NET

Una de las cosas típicas que se realizan con los GridViews son los mantenedores en los cuales seleccionas una fila y los valores de las celdas se pasan a los Textbox para poder manipularlos.

Pero pasa que cuando ocultamos columnas en el GridView no podemos tener acceso a ella si usamos .NET Framework 2.0, por lo que debemos usar la propiedad DataKeyNames del GridView.

<asp:GridView ID=”gvEjemplo” runat=”server” AutoGenerateColumns=”False” GridLines=”None” OnSelectedIndexChanged=”gvEjemplo_SelectedIndexChanged” Width=”100%” DataKeyNames=”Campo1,Campo2″ CssClass=”Estilo3″ PageSize=”6″>
<Columns>
<asp:BoundField  Visible=”False” DataField=”Campo1″ >
</asp:BoundField>
<asp:BoundField  Visible=”False” DataField=”Campo2″ >
</asp:BoundField>

<asp:GridView ID=”gvDatos” runat=”server” AutoGenerateColumns=”False” OnSelectedIndexChanged=”gvDatos_SelectedIndexChanged” DataKeyNames=”Campo1,Campo2″>

<Columns>
<asp:BoundField  Visible=”False” DataField=”Campo1″ ></asp:BoundField>
<asp:BoundField  Visible=”False” DataField=”Campo2″ ></asp:BoundField>
………..

DataKeyNames contendrá los campos ocultos pero podremos recuperar sus valores.

Luego en el evento

[codesyntax lang="vbnet"]protected Sub gvDatos_SelectedIndexChanged(ByVal object sender,  ByVal EventArgs e)

txtTuCampoDeTexto.Text = gvDatos.DataKeys(“nombreCampo”).Values.ToString()
End Sub[/codesyntax]

Eso es todo.

Así que ya sabes como solucionar este problemilla.

VB.NET Crear un mantenedor (CRUD) Parte II

Jueves, mayo 28th, 2009

En este artículo haremos lo mismo que en VB.NET Crear un mantenedor (CRUD) Parte I, pero le agregaremos un control DataGridView que nos estará mostrando los registros que tenemos en cada momento. Por lo que crearemos un procedimiento que nos carge ese control con los datos correspondientes.

La idea es que nos quede como se ve en la siguiente imagen, Vista Diseño y en Ejecución:

mantenedor_diseno1

mantenedor_ejecucion

(más…)

VB.NET Crear un mantenedor (CRUD) PARTE I

Martes, mayo 19th, 2009

En este artículo haremos una aplicación que permite Agregar, Borrar y Modificar registros de una tabla de una base de datos. Es algo típico y que muchos no saben como hacerlo.

Nos referimos a un “Mantenedor“, tambien es conocida como CRUD (Create, Read, Update, Delete), todo esto sobre una entidad. Cuando decimos entidad, nos referimos a una tabla de una base de datos.

Primero debemos crear una tabla llamada “cliente” en nuestro SQL Server (estoy usando SQL Server 2000), la cual debe quedar con 4 campos:

tabla_cliente

Una vez que tenemos eso creado, vamos al Visual Studio (en mi caso tengo el 2008) abrimos un nuevo proyecto, seleccionamos el lenguaje (VB.NET) y diseñamos los controles en el formulario de manera que nos quede de la siguiente forma:

Diseño del formulario mantenedor

Diseño del formulario mantenedor

(más…)

VB.NET | Mostrar valores de Access en Textbox’s

Jueves, abril 30th, 2009

Para poder hacer esto, debemos basarnos en el artículo anterior “Conectar base de datos Access”, ya que es lo mismo, pero declararemos mas variables para hacer la consulta y usaremos controles tipo TextBox para mostrar estos datos.

Es algo que no es muy productivo, pero nos hace entender como funciona esto de las bases de datos.

El código final nos tiene que quedar igual que el siguiente:

(más…)

VB.NET | Conectar base de datos Access

Jueves, abril 30th, 2009

Me han llegado varios email pidiendo que explique como se pueden conectar desde Visual Basic.Net a una base de datos en Access.

Así que me detuve un poco y escribí lo que verán a continuación:

Les cuento que no tiene mucha ciencia, lo único es tener la cadena de conexión que corresponda. La cadena de conexión que usaremos tendrá la siguiente forma:

Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Pruebas.mdb;

Lo que ahí especificamos es el proveedor de la base de datos y donde está el archivo físico.

En este caso el archivo está en la unidad C: y se llama Pruebas.mdb

Lo primero es importar el NameSpace que nos da las clases necesarias para conectarnos, para eso agregamos en la primera línea esto:

(más…)

VB.NET Uso de Controles

Miércoles, abril 29th, 2009

vbnetusocontrolesUna pequeña muestra de como usar controles mediante Visual Basic.NET
Empezando desde los más básicos… ListBox, TextBox, Button, etc.
También revisando algunos eventos típicos.

Veremos como hacer ciertas validaciones y algunas acciones como por ejemplo ordenar los elementos del ListBox.

(más…)

VB.NET – Abrir ventana usando MDI

Lunes, abril 27th, 2009

Primero decir que el ejemplo se basa en el lenguaje Visual Basic .NET

Para empezar debemos crear 2 formularios, los llamaremos Form1 y Form2

En la siguiente imagen les muestro como debe quedar el formulario principal (con la propiedad IsMdiContainer en el modo diseño)

Formulario principal en modo diseño(Haz click en la imagen para agrandar)

(más…)

Uso de Herencia con C#.NET

Jueves, abril 16th, 2009

En el siguiente ejemplo, tenemos 3 clases.

Vehículo que es la clase padre de Auto y Camioneta. Eso significa que Auto y Camioneta tienen las mismas características (propiedades) y las mismas acciones (métodos) que un Vehiculo, aparte de tener las propias.

(más…)

Formatear Rut en VB.NET

Jueves, abril 16th, 2009

En este artículo haremos que cuando un usuario luego de escribir su rut en una caja de texto haga click en otro elemento y presione la tecla tabulador (específicamente cuando el control pierde el foco LostFocus) en el campo de texto el rut se “autoformateará”.

O sea, si ponemos 556667778 cuando el control pierda el foco se transformará a 55.666.777-8 y también da formato cuando tiene menos caracteres, porque rellenamos con ceros.

Veamos como lo hacemos, esta es la vista en diseño

Vista de Diseño

El nombre del formulario es Form1, la caja de texto (TextBox) txtRut y el botón btnCerrar.

El código va en el evento LostFocus del control txtRut:

(más…)