Ir al contenido principal

Entradas

Mostrando las entradas de octubre, 2014

Mapear un campo numerico que puede ser nulo a un atributo de un objeto

Cuando tenemos un código como el siguiente: if (dt.Rows.Count > 0)      {       this ._holderID = int .Parse(dt.Rows[0][ "holder_id" ].ToString());       this ._item = int .Parse(dt.Rows[0][ "item" ].ToString());       this ._holderType = dt.Rows[0][ "htype_id" ].ToString();       this ._qty = int .Parse(dt.Rows[0][ "qty" ].ToString());        this ._prodID = int .Parse(dt.Rows[0][ "prod_id" ].ToString());        this ._woID = int .Parse(dt.Rows[0][ "wo_id" ].ToString());        this ._stat = Stat.Loaded;      } en el cual tratamos de mapear los campos prod_id y wo_id a las variables  _prodID y _woID de un objeto nos provoca un error al tratar de pasar un string vacio a entero en el caso de que ese ...

Metodos para buscar en una lista

Cuando quieran encontrar elementos en una lista de objetos pueden usar ciclos, aunque es mejor utilizar los metodos búsqueda  Find, FindAll,  Exists e IndexOf . Obtener el elemento con Find En lugar de utilizar un bucle foreach con un if , se puede utilizar el método  Find en la lista.  Devuelve el primer objeto encontrado.. using System; using System.Collections.Generic; class Program { static void Main() { List<int> list = new List<int>(new int[] { 19, 23, 29 }); // Encuentra el primer elemento mayor a 20 int result = list. Find (item => item > 20); Console.WriteLine(result); // 23 } } Descripción. Este código recorre cada valor int en la lista desde el principio y prueba cada valor para ver si es mayor a 20, y devuelve el primer valor encontrado ( en este caso el numero 23 ) .   Un ejemplo mas completo: Supongamos que tenemos la si...

Crear codigo HTML desde nuestro archivo de code behind

Algunas veces es necesario crear una salida en codigo HTML con informacion proveniente de nuestra base de datos. En ASP tradicional se tenia que embeber el codigo de la base de datos entre el codigo HTML (entre <%   %>). En NET esto es mas facil, en el siguiente ejemplo usaremos la clase StringBuilder() para crear la cadena de HTML y con el control Literal lo desplegaremos en nuestra pagina. Primero, arrastramos un control Panel desde nuestra barra de herramientas y le asignamos las propiedades de ID, CssClass, etc. Luego, arrastramos un control Literal de la barra de herramientas y le asignamos la propiedad ID. En modo de diseño nuestra pagina quedaria asi: En nuetro code behind mandamos el strem de HTML de la siguiente manera: //Instanciamos la clase StringBuilder para manipular nuestra cadena StringBuilder MisArchivos = new StringBuilder(); //Luego construimos nuestra cadena con el metodo Append de la clase MisArchivos.Append( "<a ...

Agregar una columna autonumerica a un DataTable

Para agregar una columna autonumerica a un DataTable es necesario crear un objeto DataTable y un objeto Column que tenga la propiedad AutoIncrement en true y luego mezclarlo con el DataTable que deseamos como en el siguiente ejemplo: DataTable myDt = new DataTable(); DataColumn dc = new DataColumn(); dc.ColumnName = "#" ; dc.DataType = typeof ( int ); dc.AutoIncrement = true ; dc.AutoIncrementSeed = 1; dc.AutoIncrementStep = 1; BoardCode bc = new BoardCode(); DataTable dt = bc.GetHoldersByBcID( int .Parse( this .TextBox1.Text)); myDt.Columns.Add(dc); myDt.Merge(dt); this .GridView1.DataSource = myDt; this .GridView1.DataBind(); Asi, cuando la despleguemos en un DataGridView se mostrara en la primera columna con un contador de renglones.

formato a un campo de fecha de un gridview

En esta ocación vamos a mostrar como cambiar el formato a un campo de un gridview. El unico detalle que se presenta es que deben ser agregados los campos uno a uno, es decir debe desactivar el "Auto-generate fields" y en la página cambiar a modo "Source" donde vera el gridview de la siguiente forma. < asp : BoundField DataField ="plan_sdate" DataFormatString ="{0}" HeaderText ="Date" /> Esto nos daria como resultado el formato "8/20/2008 12:00:00 AM" Para cambiar el formato a fecha corta solo debe modificar el DataFormatString . DataFormatString ="{0:MM/dd/yyyy}" Lo cual nos dara como resultado "8/20/2008 " Nota: Tambien se puede usar para cambiar a otros tipos de formato. Anexo algunos ejemplos. Ahora ahondemos un poco más en DataFormatString , las siguientes letras son para formatos numéricos: C -> Muestra los valores numéricos en formato de moneda. D -> M...

Tipos de Datos en .NET

Tipos de datos para .Net y sus alias en Visual Basic y C# Class Library Name Vb Name C# Name Contains Byte Byte byte Entero de 0 a 255. Int16 Short short Entero de -32,768 a 32,767. Int32 Integer int Entero de -2,147,483,648 a 2,147,483,647. Int64 Long long Entero de -9.2e18 a 9.2e18 Single Single float Punto flotante de simple precisión de aproximadamente -3.4e38 a 3.4e38. Double Double double Punto flotante de doble precisión de aproximadamente -1.8e308 a 1.8e308. Decimal Decimal decimal Numero fraccional de punto fijo de 128-bits que soporta encima de 28 dígitos significativos. Char Char char Un simple carácter de 16-bits String String string Serie de caracteres de longitud variable. Boolean Boolean bool Un valor de falso o verdadero. DataTime Date -- Represent...

Colores en .NET

Existen 4 formas para definir un color en .NET Usando un valor ARGB( alpha, red, green,blue ): ctrl.ForeColor = Color.FromARGB(255,0,255,0); Usando un color .NET Predefinido: ctrl.ForeColor = Color.Crimson; Usando un nombre HTML: ctrl.ForeColor=ColorTranslator.FromHTML( "Blue" ); Usando un valor Hexadecimal en el formato #<red><green><blue>: <asp:TextBox Forecolor= "#FF50FF" Text= "Test" ID= "txtTestColor" runat= "server" /> NOTA: alpha representa la transparencia (255=opaco).

Desplegar un mensaje de estado en nuestra página web usando Master Pages

Frecuentemente deseamos ofrecer a nuestros usuarios retroalimentación cuando estos usan nuestras páginas. La forma más usual de hacer esto es usar la barra de estado del explorador Web. Pero como existen muchos eventos que pueden modificar este mensaje y que no estan bajo nuestro control, preferimos usar una caja de texto o una etiqueta en el Master Page de nuestra aplicación y la llamamos desde cualquier página de contenido. La forma de hacer esto es: Agregar la directiva MasterType para poder acceder a las propiedades de la página Maestra en las páginas en que queramos mostrar un mensaje de estado. Ejemplo <% @ MasterType VirtualPath ="~/lesslearn.master" %> Con esto ya podremos usar esta barra de estado solo poniendo en la propiedad StatusMessage el texto que deseamos desplegar y llamando al método DisplayMessage() de nuestra página maestra. Ejemplo:    Master.StatusMessage = "Aqui estoy" ;    Master.DisplayMessage();...

como agregar una columna a una DataSet

DataSet dsBom = new DataSet (); //ITEM, PART#, DESC, QTY CreateDataSet cdsBom = new CreateDataSet (); DataColumn dcEqty = new DataColumn ( "Eqty" ); dsBom.Tables[0].Columns.Add(dcEqty); //agregando la columna dcEqty //SE LE AGREGA UN DATO A LA NUEVA COLUMNA EN ESTE CASO "1565" dsBom.Tables[0].Rows[0][ "Eqty" ] = 1565;

Formas de pasar datos entre páginas web

Existen diferentes formas de pasar datos entre formas en la web. Sabemos que el protocolo http no guarda el estado ( stateless ), asi que los datso deben ser guardados en alguna parte. A diferencia del ASP tradicional en ASP.NET existen diferentes vias para hacerlo: Query String. Cookies. Variables de sesión. Cross Page Posting. Submit Form. Server.Transfer o Server.Execute. 1.- QueryStrings : Para pasar el contenido de TextBox1.Text de WebForm1 a Webform2 en el evento click de Button1.    Para enviarlo:     protected void Button1_Click(object sender, EventArgs e)                    {                         Response.Redirect("WebForm2.aspx?id=" + TextBox1.Text);                    } ...