HOWTO: Cómo puedo hacer que una Celda (Cell) de un UltraGrid entre en el modo de edición escribiendo cualquier carácter?

Escrito el 26, marzo a las 11:26 am

El UltraGrid (de Infragistics) no entra automáticamente al modo de edición cuando una celda está activa y el usuario presiona una tecla . En su lugar, utiliza su KeyActionMappings para determinar qué acción debe ejecutar basado en la tecla que se presiona. Por defecto, el UltraGrid cambiará el estado de modo de edición cuando se pulsa la tecla F2.

En la mayoria de los casos (dado que estamos acostumbrados por Excel, en mi caso) intuitivamente cuando vemos una celda seleccionada o activa y necesitamos editar el contenido, simplemente empezamos a escribir, cosa que no ocurrirá con un UltraGrid si no presionamos la tecla F2 previamente; para solucionar esto buscando en la red encontré este código que debemos programar en el evento KeyPress del UltraGrid en cuestión:


'The following code assumes that you have added imports statements for the Win and UltraWinGrid namespaces.
'Imports Infragistics.Win
'Imports Infragistics.Win.UltraWinGrid

    Private Sub ultraGrid1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles ultraGrid1.KeyPress
        Dim grid As UltraGrid
        Dim activeCell As UltraGridCell

        If TypeOf sender Is UltraGrid Then
            grid = DirectCast(sender, UltraGrid)
        End If

        If Not grid Is Nothing Then
            activeCell = grid.ActiveCell
        End If

        ' if there is an active cell, its not in edit mode and can enter edit mode
        If Not activeCell Is Nothing AndAlso Not activeCell.IsInEditMode AndAlso activeCell.CanEnterEditMode Then
            ' if the character is not a control character
            If Char.IsControl(e.KeyChar) = False Then
                ' try to put cell into edit mode
                grid.PerformAction(UltraGridAction.EnterEditMode)

                ' if this cell is still active and it is in edit mode...
                If grid.ActiveCell Is activeCell AndAlso activeCell.IsInEditMode Then
                    ' get its editor
                    Dim editor As EmbeddableEditorBase = Me.ultraGrid1.ActiveCell.EditorResolved

                    ' if the editor supports selectable text
                    If editor.SupportsSelectableText Then
                        ' select all the text so it can be replaced
                        editor.SelectionStart = 0
                        editor.SelectionLength = editor.TextLength

                        If TypeOf editor Is EditorWithMask Then
                            ' just clear the selected text and let the grid
                            ' forward the keypress to the editor
                            editor.SelectedText = String.Empty
                        Else
                            ' then replace the selected text with the character
                            editor.SelectedText = New String(e.KeyChar, 1)

                            ' mark the event as handled so the grid doesn't process it
                            e.Handled = True
                        End If
                    End If
                End If
            End If
        End If

    End Sub

Archivado en Infragistics, Visual Basic | Sin Comentarios »

ERROR: MySettings no es un miembro de ‘project name’

Escrito el 1, noviembre a las 11:24 am

En un proyecto de Visual Studio 2005 con Visual Basic, que estoy manteniendo en la empresa para la cual trabajo, he tenido constantemente un error particular al modificar algo en un DataSet del proyecto.

Este error hace referencia a “MySettings no es un miembro de <project name>“, y se encuentra entre los códigos generados por el diseñador (“NombreDataSet.Designer.vb”) en la porcion de código “Me._connection.ConnectionString = Global.<project name>.My.MySettings.Default.<ConnectionString name>” varias veces.

El error se origina cuando ese fragmento de código es modificado por el diseñador de esto: “…My.MySettings.Default….” a esto: “…MySettings.Default…“, osea que suprime el “.My.” del codigo.

Al modificar manualmente cada entrada donde fue omitida el “.My.”, dentro del archivo “nombreDataSet.designer.vb”, el error desaparece y todo funciona bien.

Buscando por internet, encontré una forma de solucionar de raíz este problema, y no tener que estar modificando manualmente cada vez. Se tiene que modificar el archivo .xsd (con notedpad p.ej.) del dataset en conflicto, y fijarse si el atributo “PropertyReference” del elemento <Connection> son correctos.  Suponiendo un ejemplo:

Hay que fijarse si en esta cadena no esta faltando “My” porque desde aquí toma el diseñador para generar el código correspondiente.

Aquí se puede consultar los posibles motivos de este error: http://support.microsoft.com/kb/907754/es

Archivado en Visual Basic, Visual Studio | Sin Comentarios »

“Impedir guardar cambios que requieran volver a crear tablas” – SQL Server Management Studio Express 2008

Escrito el 27, septiembre a las 11:16 am

Esta es una opción que impide que modificaciones hechas a una tabla puedan ser guardadas, si dichas modificaciones requieren que la tabla vuelva a ser creada.

El mensaje de advertencia dice:

No se se permite guardar los cambios Los cambios que se ha realizado requieren que se quiten y vuelvan a crear las siguientes tablas. Quizá ha realizado cambios en una tabla que no se puede volver a crear o ha habilitado la opción de Impedir guardar cambios que requieran volver a crear tablas

Según MSDN las modificaciones que requieren volver a crear una tabla son:

  • Agregar una nueva columna en la mitad de la tabla
  • Quitar una columna
  • Cambiar la nulabilidad de columnas
  • Cambiar el orden de las columnas
  • Cambiar el tipo de datos de una columna

En lineas generales es una protección buena, para evitar posibles errores accidentales.

Esta opción está activa por defecto y se puede encontrar en Leer más »

Archivado en SQL Server | 3 Comentarios »

Restaurar una Base de datos SQL Server 2008 a SQL Server 2005

Escrito el 21, septiembre a las 11:12 pm

En este caso, en la oficina, mi lugar de trabajo, tengo la versión de SQL Server 2008 EE instalada y en mi casa la versión 2005. Cuando creé un backup (archivo .bak) de una base de datos utilizando el Management Studio Express 2008, este backup de base de datos, que tiene el nivel de compatibilidad SQL Server 2005 no lo pude restaurar en la version del SQL Server 2005. Y no es un problema del SQL Server 2008, sino que en ninguna versión de SQL Server, el backup creado con la nueva versión puede ser restaurado en una versión antigua. En el caso contrario si se puede, es decir, de una versión 2005 a una 2008 por dar un ejemplo.

Para resolver este inconveniente, opte por una de dos alternativas que encontré, de alternativas rápidas digo. Leer más »

Archivado en SQL Server | 32 Comentarios »

Solución al Problema de VS 2005 y SQL Server 2008

Escrito el 11, junio a las 3:45 pm

Al querer trabajar sobre una base de datos SQL Server 2008 desde el Visual Studio 2005 SP1, en el diseñador de dataset, me salio un mensaje de error que decia: “Esta versión del servidor no es compatible. Debe tener instalado Microsoft SQL Server 2005 Beta 2 o posterior”. Buscando en internet encontre una actualización que Microsoft lanzó para solucionar este problema.

Según Microsoft

Esta actualización resuelve el siguiente error que aparece cuando intenta utilizar las herramientas de diseño de Microsoft Visual Studio 2005 Service Pack 1 para abrir una conexión de base de datos con Microsoft SQL Server 2008:

“No se admite esta versión del servidor. Sólo se admiten servidores hasta la versión Microsoft SQL Server 2005.”

Esta actualización trata este problema y habilita la siguiente funcionalidad de Visual Studio para SQL Server 2008:

  • El explorador de servidores se conecta correctamente a SQL Server 2008 y los objetos de base de datos, como procedimientos almacenados y datos de tabla, se pueden ver y editar. Tenga en cuenta que los esquemas de tabla no se pueden ver ni editar en esta versión.
  • Los proyectos SQL CLR diseñados para SQL Server 2008 se pueden crear e implementar en el servidor.
  • Las depuraciones T-SQL y SQL CLR están habilitadas para SQL Server 2008.
  • Las características de enlace de datos en proyectos de cliente y web están habilitadas.

Esta actualización no admite las siguientes características para SQL Server 2008:

  • Creación y edición de esquemas de tabla en el diseñador de tablas o en los diagramas de base de datos. Como solución alternativa puede utilizar la característica del diseñador de tablas de SQL Server Management Studio 2008 para editar esquemas de tabla en SQL Server 2008.

Bien, para aquellos que tienen el mismo problema aqui les dejo el enlace de descarga de la actualización:

http://www.microsoft.com/downloads/details.aspx?FamilyId=e1109aef-1aa2-408d-aa0f-9df094f993bf&displaylang=es

Archivado en General, SQL Server, Visual Studio | 11 Comentarios »

Manual de Crystal Reports 11 en Español

Escrito el 12, mayo a las 9:23 am

Aqui dejo un enlace para descargar el manual de Crystal Reports 11 en Español para quien lo necesite.

DESCARGAR DESDE AQUI (MEGA)

Una pequeña reseña de Crystal Reports

Crystal Reports está diseñado para trabajar con su base de datos para ayudarlo a analizar e interpretar información importante. Crystal Reports facilita la creación de informes simples y dispone también de herramientas poderosas necesarias para generar informes complejos o especializados.

Cree cualquier informe que se pueda imaginar

Crystal Reports está diseñado para generar el informe que desea desde prácticamente cualquier origen de datos. Los asistentes incorporados lo guían paso a paso a través de la creación de informes y la ejecución de tareas comunes relacionadas con el uso de informes. Las fórmulas, tablas cruzadas, subinformes y formatos condicionales ayudan a entender mejor los datos y descubrir relaciones importantes que, de lo contrario, podrían quedar ocultas. Los gráficos y mapas geográficos proporcionan información en forma visual cuando las palabras y números no son suficientes.

Extienda la elaboración de informes al Web

La flexibilidad de Crystal Reports no termina con la creación de informes, ya que éstos se pueden publicar en una variedad de formatos que incluyen Microsoft Word y Excel, correo electrónico e incluso en el Web. La elaboración avanzada de informes en el Internet permite a otros miembros de su grupo de trabajo ver y actualizar informes compartidos en sus exploradores Web.

Incorpore informes en las aplicaciones

Los desarrolladores de aplicaciones y de Web pueden ahorrar tiempo y satisfacer las necesidades de sus usuarios al integrar el poder de procesamiento de informes de Crystal Reports en sus aplicaciones de bases de datos. El soporte de los lenguajes de desarrollo más usados facilita la adición de informes a cualquier aplicación.

Ya sea el encargado de servicios Web en IT, el gerente de promoción en marketing, el administrador de bases de datos en finanzas o el director general, Crystal Reports es una herramienta de gran potencia diseñada para ayudar a cualquier usuario a analizar e interpretar la información importante para cada uno.

Referencia: www.crystalreports.com

Archivado en Crystal Reports | 3 Comentarios »

Centrar contenido de una página utilizando DIV

Escrito el 28, abril a las 1:53 pm

Para centrar el contenido de una página utilizando el TAB Div debes primero crear un DIV que rodee (envuelva) a todo el contenido de la página que quieras centrar, centrar con relación a la ventana del navegador.

Agrega un Tab DIV y ponle un identificador único, en el ejemplo “contenedor”, para incluirlo en el archivo .css que estés utilizando para los estilos de la página.

<div id="contenedor">
<!-- Contenido a centrar -->
</div>

Luego, en el archivo .css correspondiente agregar el código siguiente

#contenedor{
       margin: 0 auto;
       width: 900px;
}

El atributo "margin: 0 auto;" es el que se encarga de centrar el contenido, el 0 (cero) hace referencia al margen superior, si se prefiere otro valor no habrá ningún problema. La palabra “auto” es el que, específicamente se encarga del centrado, lo que en este caso está diciendo es que los demás márgenes que restan ( izquierdo, inferior, derecho) se toman con valores automáticos (margenes variables de acuerdo al tamaño de la ventana del navegador). El atributo "width:900px;" es un atributo que se debe incluir para lograr el centrado, un valor de 100% ó no incluir “width” hará que el contenido no quede centrado, coloque el valor que sea necesario de acuerdo al ancho final de su página.

Éste código deberá funcionar en los navegadores actuales que sigan las recomendaciones estándar de la W3C. Pero, IE no reconoce éste código, por lo que se tendrá que recurrir a un FIX, utilizaremos text-align:center; para ésto, aplicando el atributo al elemento “body” en el archivo .css correspondiente. Éste error se suponía estaría corregido desde IE7, pero aún no veo solucionado el problema ni en el IE8.

/*FIX IE*/
body{
text-align:center;
}

Este cambio provoca, por defecto, que todo el texto quede con alineación centrada. Para corregir esto, sólo se debe agregar text-align:left; al identificador del DIV que utilizamos al comienzo, “contenedor” en el caso del ejemplo. Utilizando “left”, “right” o “justify” de acuerdo a como definió su diseño, quedando el código como sigue:

#contenedor{
margin: 0 auto;
width: 900px;
text-align: left; /*right or justify*/
}

Archivado en CSS, HTML | Sin Comentarios »

¡Hola, hola, probando 1-2-3!!

Escrito el 20, abril a las 10:24 am

Probando el plugin SyntaxHighlighter para WordPress.


--T-SQL (Transact SQL)

Declare @Test varchar

Set @Test = 'Texto de Prueba'

Select  @Test

Print @Test

Archivado en Test | Sin Comentarios »