Bienvenidos

Recuerda que tus comentarios son importantes y recuerda agradecer si te fue útil algun artículo publicado aquí.

L1f3 15 a D@nc3 Flo0r

miércoles, 27 de agosto de 2008

Darle formato a un campo de un gridview

Este articulo lo envía mi amigo y hermano Oscar Peña y trata de cómo darle un formato específico a un campo de un gridview en .NET

Saben que a veces nuestros jefes (los clientes) nos piden que los campos tengan algún formato en específico como un signo de dinero ($), guiones, paréntesis, etc.

Entonces para eso podemos utilizar el siguiente codiguito…. CHEERS!!! J


 


 

Un ejemplo de una tarjeta de credito.

------------------------------------------------------------------------------------------------------------------------------


 

GridViewRowEventArgs ea = e as GridViewRowEventArgs;

if (ea.Row.RowType == DataControlRowType.DataRow)

{

DataRowView drv = ea.Row.DataItem as DataRowView;

Object ob = drv["no_tarjeta"];

if (!Convert.IsDBNull(ob))

{

Int64 iParsedValue = 0;

if (Int64.TryParse(ob.ToString(), out iParsedValue))

{

TableCell cell = ea.Row.Cells[1];

cell.Text = String.Format(System.Globalization.CultureInfo.CurrentCulture,

"{0:####-####-####-####}", new object[] { iParsedValue });

}

}

}

viernes, 22 de agosto de 2008

Mascaras en MS CRM 4

Gracias a Danny Knight por este aporte.

Muchos usuarios se fijan en las cosas bonitas antes que funcionales, ese es un mal que vivimos todos los programadores. Pero aveces tienen razón!!!

Un caso en el que tienen razón es si te piden que el campo de teléfono en su interfaz de CRM tenga una mascara. Entonces para hacer esto nos aprovecharemos de el "On change event" de un campo en los formularios.

El código a continuación formatea lo que se escribe en los campos de texto de forma que se pongan paréntesis y guiones a los números de teléfono y se guarden de una manera mas presentable para el usuario.

Para hacer esto vamos al editar el formulario de una entidad, haces doble clic en el campo de teléfono y en la pestaña de Eventos veras el Onchange event (en español seria AlCambiar) le das a Editar, copias este código.. y LISTO!!!


 

TE DEJO DOS CODIGOS, AMBOS FUNCIONAN A LA PERFECCION Y HACEN LO MISMO .. CHEERS!! JJ

CODIGO 1

// Attempt to auto-format basic phone numbers. This method supports

// 7 and 10 digit numbers. Example: (410) 555-1212

// Get the field that fired the event

var oField = event.srcElement;

// If we have the field and all is well

if (typeof(oField) != "undefined" && oField != null)

{

// Remove any non-numeric characters

var sTmp = oField.DataValue.replace(/[^0-9]/g, "");

// If the number is a length we expect and support, format the number

switch (sTmp.length)

{

case "4105551212".length:

oField.DataValue = "(" + sTmp.substr(0, 3) + ") " + sTmp.substr(3, 3) + "-" + sTmp.substr(6, 4);

break;

case "5551212".length:

oField.DataValue = sTmp.substr(0, 3) + "-" + sTmp.substr(3, 4);

break;

}

}


 

CODIGO 2

//--> start

// Here we place current phone number to oField

var oField = event.srcElement;

// Here we see if the phone number is valid

if (oField.DataValue != "undefined" && oField.DataValue != null)

{

// This removes any unwanted characters (non numeric)

var sTmp = oField.DataValue.replace(/[^0-9]/g, "");

// Here we use switch structure format number

switch (sTmp.length)

{

case 10:

oField.DataValue = "(" + sTmp.substr(0, 3) + ") " + sTmp.substr(3, 3) + "-"

+ sTmp.substr(6, 4);

break;

}

}

//--> end

Poner campos autonumericos en MS CRM 4

Si deseamos tener un campo auto numérico en una entidad de MS CRM 4

Podemos utilizar una forma un poco absurda pero que funciona.


 

Es sencillo y se puede lograr con un poco de conocimientos de TSQL

Lo primero que debemos hacer es crear el campo de tipo INT en la entidad en CRM

Luego vamos a la base de datos del CRM y eliminamos ese campo de la base de datos y lo volvemos a crear auto numérico

Asi engañamos al CRM y el campo que se creó previamente ira incrementándose de forma automática cada vez que guardemos un nuevo registro en la entidad.

Luego simplemente agregamos el campo al formulario, lo pones Read Only y LISTO!!!

Codigo sql:

ALTER TABLE [tabla] DROP COLUMN [columna]

ALTER TABLE [tabla] ADD [columna] INT IDENTITY
NOT NULL