Ideas, vivencias y demás
Peru Blogs

August 26, 2009

Deshabilitar el backspace y el enter cuando no estan siendo usados en controles

Encontré lo que necesitaba!, código para bloquear el backspace y el enter si no se esta dentro de un control en el webform. Aquí la fuente y aquí el código:

// Trap Backspace(8) and Enter(13) -
// Except bksp on text/textareas, enter on textarea/submit

if (typeof window.event != ‘undefined’) // IE
  document.onkeydown = function() // IE
    {
    var t=event.srcElement.type;
    var kc=event.keyCode;
    return ((kc != 8 && kc != 13) || ( t == ‘text’ &&  kc != 13 ) ||
             (t == ‘textarea’) || ( t == ’submit’ &&  kc == 13))
    }
else
  document.onkeypress = function(e)  // FireFox/Others
    {
    var t=e.target.type;
    var kc=e.keyCode;
    if ((kc != 8 && kc != 13) || ( t == ‘text’ &&  kc != 13 ) ||
        (t == ‘textarea’) || ( t == ’submit’ &&  kc == 13))
        return true
    else {
        //alert(’Sorry Backspace/Enter is not allowed here’); // Demo code
        return false
    }
   }

December 1, 2008

MySQL + Reporting Services 2005

Filed under: Programación

Pues por aquí indicaba que postergaría el retomar el MySQL, y trabajaría con CodeIgniter y MSSQL 2005, sin embargo, como es esta una época de cambios (renuncié a la empresa en donde estaba, para irme a otra oportunidad laboral más interesante, mi vocho -del que algíun día subire alguna foto- esta ya casi terminando su mantenimiento, y a Perú lo desafilian de la FIFA), pues ahora estoy revisando Zend FrameWork + MySQL. Sin embargo, también alguna vez comente que el Reporting Services es muuuuuuuy facil de usar, y te aliviana el día a día en la época de reporteador, razón por la cual me desanimaba a dejar MSSQL para utilizar MySQL, sin embargo, al fin logré correr un storesito en MySQL y trabajarlo en el RS. Cómo, pues gracias al post de Charlie Voiselle (3er post).

Repetiré básicamente los mismos pasos agregándole un par de cosas que necesité hacer.

  1. Descargar MySQL .NET Connector, yo baje la versión 5.2
  2. Copié el archivo X:\Archivos de programa\MySQL\MySQL Connector Net 5.2.5\Binaries\.NET 2.0\MySql.Data.dll en X:\Archivos de programa\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin
  3. Modifiqué el archivo rsreportserver.config ubicado un nivel arriba de a donde copie el MySQL.Data.dll, y agregué en la sección Data: <Extension Name="MYSQL" Type="MySql.Data.MySqlClient.MySqlConnection,MySql.Data, Version=5.2.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
  4. Tal como indica en el post, la información del PublicKeyToken  se puede encontrar en X:\WINDOWS\Assembly, en las propiedades de la dll.
  5. Luego reiniciar el RS.
  6. Para que no haya problemas en el IDE cuando editemos nuestros DataSource, pues editamos el X:\Archivos de programa\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\RSReportDesigner.config, operando igual que con el rsreportserver.config.
  7. Hecho esto, abrimos el IDE y ya tendremos la opción para crear un Data Source MySQL. En realidad ya no probé a crearlo, porque edite uno existente con un editor de texto, poniéndole los parametros necesarios a la cadena de conexión.
  8. Y eso es todo, luego a crear nuestro store en MySQL, (como por ejemplo el siguiente), crear nuestro reporte y configurar nuestro DataSet. Eso si, según leí y me pasó, si te reconoce los Fields, pero no te autogenera los Parameters, (creo que en el MSSQL 2005 tampoco, yo siempre copio la consulta primero para que reconozca los parametros, y luego la cambio por el SP).
  9. El nombre de los parametros en el DataSource tiene que ser exactamente igual al parametro en la BD, el parámetro dentro del Layout ya no.

Ejemplo de store (esta feo, variables por ahi que no recuerdo en qué momento entraron :) ):

DELIMITER $$

DROP PROCEDURE IF EXISTS `requerimientos`.`getArchivos` $$
CREATE DEFINER=`usuario`@`localhost` PROCEDURE `getArchivos`(in
vari int)
BEGIN

declare variable1 int;

  set variable1 = vari;

  select * from archivo where id like variable1;
END $$

DELIMITER ;

Y así fue como pasó, jeje.

October 18, 2008

Descarga de php_sqlsrv y hechar a andar CI

Filed under: PHP, Programación

Pues, alguien leyó mi post jeje, y quiso colaborar indicando la dirección de donde se puede obtener la dll que andaba perdida. Desafortunadamente el spamminator vio la dirección medio sospechosa y bloqueo el comentario, sin embargo acá lo publico para todo aquel que lo necesite: Aca esta el php_sqlsrv.dll.

Gracias a Johnny Chancafe, quien nos informó de esto.

 
Luego coligamos que, dejaré el retomar MySQL para más adelante jeje :$.
PD: ya la probé, y ya logré conectarme a mi MSSQL2k5 con el codeigniter, sin embargo, tuve que agregar esto en sqlsrv_driver.php
 (tomado del mssql_driver.php).
 /**
     * Set client character set
     *
     * @access    public
     * @param    string
     * @param    string
     * @return    resource
     */
    function db_set_charset($charset, $collation)
    {
        // TODO - add support if needed
        return TRUE;
    }

October 15, 2008

PHP_SQLSRV, dónde estas?

Filed under: PHP, Programación

Ando queriendo usar PHP5, con Code Igniter como framework, para el proyecto que algún día se convertirá en mi tesis. Como motor de base de datos, me decidí por MSSQL 2005, básicamente por el Reporting Services que para ser sincero, me salva la vida a cada momento por lo facil que resulta crear y publicar reportes con él.

He intentado en vano al momento conectarme con mi maledetta BD. Probé tambien con otro driver para Code Igniter, SQLSRV. Sin embargo, este funciona con una dll experimental (php_sqlsrv.dll y/o php_sqlsrv_ts.dll) que SE SUPONE debería poder descargar desde aquí. Sin embargo, hasta ahora, me da el mensaje que la dirección no esta disponible, o mejor dicho, que no hay forma de descargar ahora esa dll.

Pues, recapacitando sobre la dll, algunos comentarios que indican que es propietaria, que M$ dificilmente apoyará seriamente componentes que de alguna manera rivalicen con sus productos, etc etc, me decidido a cambiar de motor de bd a mi viejo amigo el MYSQL, del cual aún se poco, pero que cuando lo necesite, siempre estuvo presto a soportarme =)

El problema, que no tendre la easy-to-use (según apreciación mía obviamente) herramienta para reportes, Reporting Services, pero por ahi vi que se tenía algo parecido para MySQL, sin embargo por la ojeada que le di me pareció un poco más engorroso de aprender… en fin, de momento me interesa avanzar con el sistema, luego veré la solución para los reportes.

 

August 2, 2008

Evento OnChanged del TextBox ASPX

Filed under: C#, Programación

Hablamos de C# 2008 y el PropertyProxyValidator del Enterprise Library 4.0, y esto es una nota para cuando me olvide como funcionaba esto jeje.

Bueno, pues estaba queriendo que en el evento TextChanged del TextBox se lanzara la validacion de la caja de texto, la cual esta amarrada a un validador: PropertyProxyValidator, todo esto esta dentro de un update panel.

Resultaba que no se mostraba el mensaje de error, por demas que escribia caracteres o le quitaba el foco al textBox. Revisando un poco el evento, aprendi que este no se dispara sino le pones AutoPostBack a True para que al perder el foco se lance el Evento. Sin embargo, aun luego de esto aun no se lanzaba la validacion, y era porque era necesario ponerle a la caja de texto CausesValidation a True. Entonces, la solucion queda asi:

    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:TextBox ID="TextBox1" runat="server" ontextchanged="TextBox1_TextChanged"
                AutoPostBack="True" CausesValidation="True"></asp:TextBox>
            <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
            <cc1:PropertyProxyValidator ID="PropertyProxyValidator1" runat="server"
                ControlToValidate="TextBox1" PropertyName="aApellidoPaterno"
                SourceTypeName="Logica.Clases.Comun.Persona">
            </cc1:PropertyProxyValidator>
        </ContentTemplate>
    </asp:UpdatePanel>

Y listo, ahora a dormir que mañana hay que trabajar todabia, tmr ×D






















Get free blog up and running in minutes with Blogsome
Theme designed by Hadley Wickham