jueves, 2 de octubre de 2014

simplificar la busqueda de controles de asp.net en jquery

Muchas veces al intentar buscar controles como textbox, botones, etc, se hace dificil encontrarlos desde jquery y a veces hay que revisar el codigo generado en el explorador web para encontrar el nombre.  Basta colocar la propiedad ClientIDMode="Static" en el control.
Ej:
<asp:LinkButton ID="lnkBuscarUsuario" ClientIDMode="Static" runat="server"  OnClientClick="return false" Width="300px">&nbsp;Buscar&nbsp;Usuario&nbsp;</asp:LinkButton>

En el codigo generado:

Ahora desde jquery solo basta usar $('#lnkBuscarUsuario')

jueves, 25 de septiembre de 2014

Recuperar archivos o carpetas borrados en Windows 7

Me encontre con este truco en youtube

https://www.youtube.com/watch?v=32FQNEc_ZYw

Básicamente consiste en hacer click derecho sobre el lugar que contenia el archivo o folder.
Seleccionar la opcion Versiones anteriores. Se abre el elemento y ahi se encuentran las diferentes versiones contenidas en ese ruta.  Este contenido se puede copiar y pegar a voluntad.




sábado, 13 de septiembre de 2014

crear un certificado propio en maquina de desarrollo

Basta con configurar IIS7 (funciona con windows 7.  Debe funcionar con cualquier servidor que tenga ISS mayor a 6).  






1. Abrir el Administrador de IIS (run inetmgr)
2. Hacer clic en el servidor 
3. Hacer doble clic en Certificados de Servidor






















4, Seleccionar crear certificado autofirmado
5. Digite un nombre para el certificado
6. Clic en aceptar











7. Listo.  Ese certificado quedara disponible durante un año.

viernes, 5 de septiembre de 2014

copiar conexiones de sql management studio

Muchas veces me ha ocurrido que cambio de computador o que hay que reinstalar. Entonces se me pierden las conexiones de sql management a diferentes servidores ...
Para que no ocurra esto un paso importante es registrar el servidor:
1. Ir al menu view / Registered Servers ( vista/ servidores Registrados : prefiero las instalaciones en inglés porque generalmente la ayuda es mejor al buscar en google)
2. Escoger Central Management Servers
3. Escoger register Central Management Servers

4. De la ventana emergente seleccionar el nombre del servidor, colocar las opciones de conexion y aceptar.
5. Esto hay que hacerlo desde la maquina que vamos a exportar (obviamente)
6. Luego seleccionar el servidor ... clic derecho ... task ... export

Con esto se genera un archivo que se puede importar haciendo el proceso anterior en el nuevo computador pero con la opcion import. Y listo

miércoles, 3 de septiembre de 2014

Carpetas que no llegan con la publicacion en visual studio

A veces hay carpetas que se agregan a la solución, pero que no llegan en la publicación.

Generalmente esto pasa porque son carpetas destinadas a almacenar algo, pero que en el momento de la publicación están vacías.  Para solucionarlo, basta con colocar un archivo "dummy" (un txt vacío por ejemplo) y en las opciones del archivo (propiedades) debe aparecer el Build Action como Content

Acceder a cadena de conexion para DBML (linq to sql) desde una clase en otro proyecto

Cuando se tiene un dbml en una class library por ejemplo, referenciada desde una aplicacion web y se requiere acceder al connection string del web.config, se debe separar el datacontext en una clase:

public partial class MiProyectoDataContext : System.Data.Linq.DataContext
{
private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();
    #region Extensibility Method Definitions
    partial void OnCreated();
    partial void InsertDato(Dato instance);
    partial void UpdateDato(Dato instance);
    partial void DeleteDato(Dato instance);
    #endregion
public MiProyectoDataContext() :
        base(ConfigurationManager.ConnectionStrings["webproyectoConnectionString"].ToString(), mappingSource)
{
OnCreated();
}
           ...
No olvidar agregar la referencia a System.Configuration en el proyecto.

martes, 22 de julio de 2014

agregar parametros a .ajax de jquery

var params = $('#_ctl0_ContentPlaceHolder1_BuscaUsuario_txtNombreUsuario').val();
                $.ajax({
                    type: 'POST',
                    url: 'UsersInRoles.aspx/GetApplicationList',
                    contentType: 'application/json; charset=utf-8',
                    dataType: "json",
                    data: '{"userName":"' + params + '"}',
                    success: function (msg) {
                        alert(msg.d);
                    },
                    error: function () {
                        alert("Ajax Error");
                    }
                });
En este ejemplo se almacenan en la variable params, el contenido de un textbox y se pasa como parametro en data.

lunes, 21 de julio de 2014

Evitar problemas de referencias de scripts y otros objetos en masterpage

Es muy común que al adjuntar scripts, css, imagenes y otros en una masterpage, se desaparezcan las referencias en nuevas paginas.

Se debe agregar en la masterpage en las href, en los src ResolveUrl:
href='<%# ResolveUrl("estilos/Productividad.css") %>'

Y en el codebehind :
 protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);
        Page.Header.DataBind();
    }

Tomado de codeproject:
http://www.codeproject.com/Articles/404942/Include-JavaScript-and-CSS-on-your-MasterPage

martes, 15 de julio de 2014

agregar elementos a un select que estaba dentro del formedit en jqgrid

Este codigo me permitio en un jqgrid, agregar elementos a un select que estaba dentro del formedit:

En este caso  $("select.FormElement")  select es el tipo de input y el FormElement es la clase css:


function probarDatos() {
            $.ajax({
                type: "POST",
                url: "Role.aspx/GetApplicationList",
                data: '',
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (msg) {
                    $("select.FormElement").empty().append($("<option></option>").val("[-]").html("Por favor seleccione"));
                    $.each(msg.d, function () {
                        $("select.FormElement").append($("<option></option>").val(this['Value']).html(this['Text']));
                    });
                },
                error: function () {
                    alert("Se ha presentado un problema procesando su solicitud.");
                }
            });

miércoles, 7 de mayo de 2014

cambios en teclas de seleccion en Excel 2013

Hace un par de semanas instalé Excel 2013 y debido a dificultades de tiempo no pude encontrar la nueva combinación de teclas para seleccionar todo ya que por alguna curiosa razón dejó de funcionar en esta versión CTRL + E. Resulta que algunas combinaciones ya no funcionan. Lo mas parecido que encontré para reemplazar el CTRL + E es CTRL + SHIFT + *. Aquí esta algo de lo nuevo:



Tecla
Descripción
Ctrl+AvPág
Cambia entre las pestañas de la hoja de cálculo, de izquierda a derecha.
Ctrl+RePág
Cambia entre las pestañas de la hoja de cálculo, de derecha a izquierda.
Ctrl+Mayús+&
Aplica el contorno a las celdas seleccionadas.
Ctrl+Mayús_
Quita el contorno de las celdas seleccionadas.
Ctrl+Mayús+~
Aplica el formato de número General.
Ctrl+Mayús+$
Aplica el formato Moneda con dos decimales (los números negativos aparecen entre paréntesis).
Ctrl+Mayús+%
Aplica el formato Porcentaje sin decimales.
Ctrl+Mayús+^
Aplica el formato de número Científico con dos decimales.
Ctrl+Mayús+#
Aplica el formato Fecha con el día, mes y año.
Ctrl+Mayús+@
Aplica el formato Hora con la hora y los minutos e indica a.m. o p.m.
Ctrl+Mayús+!
Aplica el formato Número con dos decimales, separador de miles y signo menos (-) para los valores negativos.
Ctrl+Mayús+*
Selecciona el área actual alrededor de la celda activa (el área de datos delimitada por filas en blanco y columnas en blanco).
En una tabla dinámica, selecciona todo el informe de tabla dinámica.
Ctrl+Mayús+:
Inserta la hora actual.
Ctrl+Mayús+"
Copia el valor de la celda situada sobre la celda activa en la celda o en la barra de fórmulas.
Ctrl+Mayús+Signo más (+)
Muestra el cuadro de diálogo Insertar para insertar celdas en blanco.
Ctrl+Signo menos (-)
Muestra el cuadro de diálogo Eliminar para eliminar las celdas seleccionadas.
Ctrl+;
Inserta la fecha actual.
Ctrl+`
Cambia entre mostrar valores de celda y mostrar fórmulas de la hoja de cálculo.
Ctrl+'
Copia en la celda o en la barra de fórmulas una fórmula de la celda situada sobre la celda activa.
Ctrl+1
Muestra el cuadro de diálogo Formato de celdas.
Ctrl+2
Aplica o quita el formato de negrita.
Ctrl+3
Aplica o quita el formato de cursiva.
Ctrl+4
Aplica o quita el formato de subrayado.
Ctrl+5
Aplica o quita el formato de tachado.
Ctrl+6
Cambia entre ocultar y mostrar objetos.
Ctrl+8
Muestra u oculta símbolos de esquema.
Ctrl+9
Oculta las filas seleccionadas.
Ctrl+0
Oculta las columnas seleccionadas.
Ctrl+A
Selecciona toda la hoja de cálculo.
Si la hoja de cálculo contiene datos, Ctrl+E selecciona la región actual. Al presionar Ctrl+E por segunda vez, se selecciona toda la hoja de cálculo.
Cuando el punto de inserción está a la derecha de un nombre de función en una fórmula, muestra el cuadro de diálogo Argumentos de función.
Ctrl+Mayús+A inserta los paréntesis y nombres de argumento cuando el punto de inserción está a la derecha de un nombre de función en una fórmula.
Ctrl+B
Aplica o quita el formato de negrita.
Ctrl+C
Copia las celdas seleccionadas.
Ctrl+D
Usa el comando Rellenar hacia abajo para copiar el contenido y el formato de la celda situada más arriba de un rango seleccionado a las celdas de abajo.
Ctrl+E
Agrega más valores a la columna activa con los datos que la rodean.
Ctrl+F
Muestra el cuadro de diálogo Buscar y reemplazar con la pestaña Buscar seleccionada.
Mayús+F5 también muestra esta pestaña, mientras que Mayús+F4 repite la última acción de Buscar.
Ctrl+Mayús+F abre el cuadro de diálogo Formato de celdas con la pestaña Fuente seleccionada.
Ctrl+G
Muestra el cuadro de diálogo Ir a.
F5 también muestra este cuadro de diálogo.
Ctrl+H
Muestra el cuadro de diálogo Buscar y reemplazar con la pestaña Reemplazar seleccionada.
Ctrl+I
Aplica o quita el formato de cursiva.
Ctrl+K
Muestra el cuadro de diálogo Insertar hipervínculo para hipervínculos nuevos o el cuadro de diálogo Modificar hipervínculo para hipervínculos existentes seleccionados.
Ctrl+L
Muestra el cuadro de diálogo Crear tabla.
Ctrl+N
Crea un nuevo libro en blanco.
Ctrl+O
Muestra el cuadro de diálogo Abrir para abrir o buscar un archivo.
Ctrl+Mayús+O selecciona todas las celdas que contienen comentarios.
Ctrl+P
Muestra la pestaña Imprimir en la Vista Backstage de Microsoft Office.
Ctrl+Mayús+P abre el cuadro de diálogo Formato de celdas con la pestaña Fuente seleccionada.
Ctrl+Q
Muestra las opciones de Análisis rápido para los datos cuando hay celdas que contienen esos datos seleccionados.
Ctrl+R
Usa el comando Rellenar hacia la derecha para copiar a las celdas de la derecha el contenido y el formato de la celda situada más a la izquierda de un rango seleccionado.
Ctrl+S
Guarda el archivo activo con el nombre de archivo, la ubicación y el formato de archivo actuales.
Ctrl+T
Muestra el cuadro de diálogo Crear tabla.
Ctrl+U
Aplica o quita el formato de subrayado.
Ctrl+Mayús+U cambia entre expandir y contraer la barra de fórmulas.
Ctrl+V
Inserta el contenido del Portapapeles en el punto de inserción y reemplaza cualquier selección. Disponible solamente después de haber cortado o copiado un objeto, texto o el contenido de una celda.
Ctrl+Alt+V muestra el cuadro de diálogo Pegado especial. Disponible solamente después de haber cortado o copiado un objeto, texto o el contenido de una celda en una hoja de cálculo o en otro programa.
Ctrl+W
Cierra la ventana del libro seleccionado.
Ctrl+X
Corta las celdas seleccionadas.
Ctrl+Y
Repite el último comando o acción, si es posible.
Ctrl+Z
Usa el comando Deshacer para invertir el último comando o eliminar la última entrada que escribió.

miércoles, 24 de abril de 2013

obtener fechas de modificacion de objetos en sqlserver


SELECT  *
FROM sys.objects
WHERE type = 'P'
AND DATEDIFF(D,modify_date, GETDATE()) < 360
order by modify_date desc

En este caso obtenemos todos los objetos tipo Procedimiento almacenado en el ultimo año. Es un buen punto de partida para obtener otros tipos, como tablas y tambien modificar las fechas.
Ref:  http://blog.sqlauthority.com  By Pinal Dave

jueves, 18 de abril de 2013

referenciar celda especifica de una tabla con jquery

$("td:eq(1)", "#ctl00_placeHolderContenido_grvdatos tbody tr:eq(1)").html();

Aqui el 1  indica el numero de celda dentro de la fila
y el 1 indica el numero de fila en la tabla

miércoles, 17 de abril de 2013

base de datos en modo restoring

Si la base de datos se quedó en Restoring:

abrir una ventana de consulta y ejecutar:


RESTORE DATABASE basededatos WITH RECOVERY


Con esto la base de datos ya funciona.
Es posible que en algunos casos se necesite reiniciar el servicio.

domingo, 24 de marzo de 2013

crear disco de arranque usb windows 7

entrar como administrador a símbolo de sistema o tecla de windows + r y escribir cmd
  • Diskpart
  • Select Disk # (revisar el numero de disco con List Disk)
  • Clean 
  • Create partition primary 
  • Active
  • Format fs=fat32 quick 
  • Assign
  • Exit
Si se necesita instalar desde la usb se deben copiar los archivos de instalacion en la usb

martes, 19 de marzo de 2013

removiendo searchiu.com

Me encontré hace poco con un desagradable bug al abrir pestañas nuevas en los exploradores web de mi máquina.  Seguía apareciendo un buscador searchiu.com con unos dibujos infantiles (como para que no me diera miedo). Inicialmente no me habia fijado y habia pensado que era el doodle del dia, pero despues de fijarme mejor, me di cuenta que estaba invadiendo mi configuracion por defecto.  Al buscar en internet y encontrar respuestas no efectivas encontre que entre mis motores de busqueda aparecia un u-search. Pues a buscarlo en el regedit y aparecia casi 10 veces.  Al eliminar las llaves y entradas relacionadas, quedo todo como antes. Mi antivirus actualizado symantec ni se dio cuenta.

viernes, 15 de marzo de 2013

problemas con jquery y dropdown


si hay problemas con el id de un elemento (no solamente dropdown) porque el id aparece con el nombre larguísimo ct**$$$_mycontrol entonces hay que agregarle al control:  ClientIDMode="Static"
con esto al generarse el Html de la pagina el control aparece con el Id como lo dejamos en el aspx original.
Ej: <is:SimpleListBox ID="ddlmycontrol" runat="server" DataSourceID="odsMotivosRetencion"
          DataTextField="Name" DataValueField="IdType" SelectedValue='<%# Bind("fktablecolumn") %>'
          AppendDataBoundItems="True" ClientIDMode="Static">

En el html aparece asi:
<select name="ctl00$placeHolderContenido$frmmyform$ddlmycontrol" id="ddlmycontrol" disabled="disabled" class="aspNetDisabled">
De esta forma ya se puede referenciar fácilmente desde jquery:
var ddlmycontrol= $('#ddlmycontrol');

lunes, 4 de marzo de 2013

Eventos en la pagina (asp.net)


AbortTransaction: Occurs when a user ends a transaction. (Inherited from TemplateControl.)
CommitTransaction: Occurs when a transaction completes. (Inherited from TemplateControl.)
DataBinding: Occurs when the server control binds to a data source. (Inherited from Control.)
Disposed: Occurs when a server control is released from memory, which is the last stage of the server control lifecycle when an ASP.NET page is requested. (Inherited from Control.)
Error: Occurs when an unhandled exception is thrown. (Inherited from TemplateControl.)
Init: Occurs when the server control is initialized, which is the first step in its lifecycle. (Inherited from Control.)
InitComplete: Occurs when page initialization is complete.
Load: Occurs when the server control is loaded into the Page object. (Inherited from Control.)
LoadComplete: Occurs at the end of the load stage of the page's life cycle.
PreInit: Occurs at the beginning of page initialization.
PreLoad: Occurs before the page Load event.
PreRender: Occurs after the Control object is loaded but prior to rendering. (Inherited from Control.)
PreRenderComplete: Occurs before the page content is rendered.
SaveStateComplete: Occurs after the page has completed saving all view state and control state information for the page and controls on the page.
Unload: Occurs when the server control is unloaded from memory. (Inherited from Control.)

referencia MSDN Microsoft

Buscar texto en todos los procedimientos Almacenados


 SELECT DISTINCT so.name
FROM syscomments sc
INNER JOIN sysobjects so ON sc.id=so.id
WHERE sc.TEXT LIKE '%DEBE SER MENOR O IGUAL A LA MEDIDA%'

adaptado de Pinal Dave's blog.sqlauthority.com

jueves, 19 de enero de 2012

Obtener fecha de creacion y modificacion de una tabla, procedimiento almacenado u objeto del servidor



SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'U'
ORDER BY create_date desc
GO


el tipo puede ser uno de los siguientes:
type
 char(2)
 Object type:
AF = Aggregate function (CLR)
C = CHECK constraint
D = DEFAULT (constraint or stand-alone)
F = FOREIGN KEY constraint
FN = SQL scalar function
FS = Assembly (CLR) scalar-function
FT = Assembly (CLR) table-valued function
IF = SQL inline table-valued function
IT = Internal table
P = SQL Stored Procedure
PC = Assembly (CLR) stored-procedure
PG = Plan guide
PK = PRIMARY KEY constraint
R = Rule (old-style, stand-alone)
RF = Replication-filter-procedure
S = System base table
SN = Synonym
SQ = Service queue
TA = Assembly (CLR) DML trigger
TF = SQL table-valued-function
TR = SQL DML trigger 
TT = Table type
U = Table (user-defined)
UQ = UNIQUE constraint
V = View
X = Extended stored procedure
  by create_date desc name, create_date, modify_dateFROM sys.objectsWHERE type = 'U'

Agregar Fondos personalizados a llamadas de teams

1. Abrir una ventana de explorador 2. En la barra de direccion digitar     %appdata% y pulsar enter 3. Abrir la carpeta microsoft...