martes, 26 de junio de 2012

PORQUE ELEGIR C#.NET Y NO VB.NET

Muchas son las preguntas al querer desarrollar en la plataforma .Net, pero muchos se preguntan, en que lenguaje voy ha desarollar VB.NET o C#.NET, he aqui unas respuestas en base a mi experiencia y a la de unos colegas, y lo mas probable ha la de muchas personas que lean este blog y se daran cuenta el porque elegir C#.NET.

Una de las razones clara por la cual elegir C#.NET es por el uso de la sintaxis y semantica, C#.Net te abre las puertas ha diferentes lenguajes de la Familia C (Java , C++, C Builder, J#, entre otros ), los mas interesante no  solo para lenguajes del lado del servidor si no tambien para lenguajes del lado del Cliente como JAVASCRIPT,  y si hablamos de java nos estamos refiriendo a todos sus Framework, sus IDE'S de mayor relevancia en  el mercado,  JDEVELOPER ,  ECLIPSE, NETBEENS, entre otros, y he tenido oportunidades de conocer programadores de VB.NET (SI SE LES PUEDE LLAMAR PROGRAMADORES), que han querido pasarse a java , pero lamentablemente el "PROGRAMADOR", solo conocia el "JUEGO DE NIÑOS" llamado VISUAL BASIC, lo cual se le hace muy dificil empaparse en temas avanzados en Java , jajaj Saludos amigo , JEJEJEJEJEJE, pero se le suma una persona mas quien decidió incorporarse al hermoso lenguaje de la Familia C, OJO HEY YO NO TE OBLIGO HA QUE PROGRAMES EN JAVA NI EN C# , SOLO TOMALO COMO UN CONSEJO Y EXPERIENCIA DE PERSONAS COMO ELLA, SI ERES PROGRAMADOR DE BASIC, VISUAL BASIC, POWER BUILDER, ESPERO NO HABERTE OFENDIDO


Saludos ,


domingo, 17 de junio de 2012

CABECERA ESTATICA EN UN GRIDVIEW IE

Bueno un caso clásico que nos pasa a todos los que utilizamos el control GridView es cuando listamos gran cantidad de filas y a desplegar la cabecera del gridview no se mantiene estatica, con solo agregar unas lineas de CSS (Hojas de Estilo en Cascada), damos por resulto este problema, pero ojo solo para Internet Explorer,


.FijarHeaderGridView
    {
    position: relative;
    top: expression(this.offsetParent.scrollTop-15);
    }















Luego lo agregamos a nuestro GridView en su propiedad

<HeaderStyle CssClass="FijarHeaderGridView" />

    Pueden ajustar el scrollTop  a su manera de la que mejor les paresca y solucionado este pequeño problema.



Saludos




viernes, 8 de junio de 2012

Problemas al acceder al valor de un GridView Edit Template ASP.NET

Cuando intentamos acceder a un valor de un GridView cuando usamos Edit Templates, tenemos que tener en cuenta la forma en que lo hacemos vamos ha ver un ejemplo:

<asp:TemplateField HeaderText="Cantidad">
                                        <ItemTemplate>
                                            <%# Eval("pr_PreciosListaPrecios")%>
                                    </ItemTemplate>
                                        <EditItemTemplate>
                                            <asp:TextBox ID="txtCantidad" runat="Server"  Text='<%# Bind("pr_PreciosListaPrecios") %>'  Width="90px"></asp:TextBox>
                                        <%--Text='<%# Eval("pr_PreciosListaPrecios") %>'--%>
                                       
                                        </EditItemTemplate>
                                        <HeaderStyle HorizontalAlign="Left" />
                                        <%-- <ItemStyle Width="25%" />--%></asp:TemplateField>

Si cargamos de esta manera el GridView, habria un Problema ya que no podriamos acceder al valor del ItemTemplate, la razón es sencilla, es porque no estamos especificando explicitamente lo que ASP, va ha convertir en tiempo de ejecucion, por lo tanto no podriamos acceder al valor e esta manera,

GridView.oRows[Index].Cells[3].Text;

La Solucion :

<asp:TemplateField HeaderText="Cantidad">
                                        <ItemTemplate>
                                            <%--<%# Eval("pr_PreciosListaPrecios")%>--%>
                                        <asp:Label ID="lblCantidadLista" runat="server" Text='<%# Bind("pr_PreciosListaPrecios") %> '></asp:Label>                                                
                                        </ItemTemplate>
                                        <EditItemTemplate>
                                            <asp:TextBox ID="txtCantidad" runat="Server"  Text='<%# Bind("pr_PreciosListaPrecios") %>'  Width="90px"></asp:TextBox>
                                        <%--Text='<%# Eval("pr_PreciosListaPrecios") %>'--%>
                                       
                                        </EditItemTemplate>
                                        <HeaderStyle HorizontalAlign="Left" />
                                        <%-- <ItemStyle Width="25%" />--%></asp:TemplateField>


Cambiamos la forma de cargar los datos indicando a la Propiedad , haciendole un "Bind" a un label , que en tiempo de ejecucion asp lo reconoce explicitamente como un "span",  cosa que podriamos acceder al vaor sin ningun problema de la iguiente manera:

foreach (GridViewRow oRows in gridDetalle2.Rows) {

Label lblCantidadLista = oRows.Cells[3].FindControl("lblCantidadLista") as Label;

}

y obtenemos el valor sin ningun problemas,


Saludos,

viernes, 1 de junio de 2012

J2ME SISTEMA PASAPEDIDOS GOOGLE MAPS 3ER PARTE

He publicado la tercera parter del sistema pasapedidos con vista y reportes en google maps sobre ventas recorrido del vendedor,
les envio el link que he publicado

http://www.youtube.com/watch?v=m1fjlyXDFbg

Saludos

Operation is not valid due to the current state of the object.

Cuando intentamos cargar una buena cantidad de campos de formulario nos puede pasar el siguiente error, "Operation is not valid due to the current state of the object." , este error en mi caso se dio por cargar demasiados campos en el servidor de produción haber cargado un GridView con mas de 1000 filas que incluian Templates de CheckBox,TextBox ,  el cual ASP por predeterminado solo acepta 1000 campos de formulario.

La Solución es que tenemos que agregar en nuestro Web Config ,  el siguiente Script

<appSettings>
    <!--Importante si se desea manejar mas de 1000 filas en el GridView Sin Paginación-->
    <add key="aspnet:MaxHttpCollectionKeys" value="10000" />
  </appSettings>


De esta manera podemos introducir mas campos de formulario sin problemas ni errores en nuestro sistema Web ojo la  propiedad value es configurable podemos aumentarlo o disminuirlo depende sea nuestro caso;

Saludos ,