DataGrid con scroll vertical usando OverFlow en Asp .NET

Mostrar en una página web un DataGrid sin paginar añadiendo barra vertical de scroll gracias a la propiedad OverFlow que indica al navegador cómo interpretar los elementos cuyo tamaño es mayor que el de su contenedor

Si tenemos un DataGrid que ha de mostrar un número elevado de filas, tenemos la opción de paginar el DataGrid. Pero si no deseamos organizar el DataGrid en múltiples páginas podemos recurrir a una propiedad CSS, llamada OverFlow, que indica al navegador cómo interpretar los elementos cuyo tamaño es mayor que el de su contenedor.
El ejemplo típico es el de un contenedor <div> de un tamaño determinado que contiene un elemento de un tamaño superior. La propiedad OverFlow le dice al navegador qué hacer, dependiendo de su valor.

Valor Interpretación por el navegador cliente
visible El contenido no es recortado, puede sobresalir del contenedor
hidden El contenido es recortado, sin barras de scroll para poder ver el resto del contenido
scroll El contenido es recortado, pero el navegador coloca barras de scroll
auto Sólo si el contenido es recortado el navegador coloca barras de scroll
Continuar leyendo «DataGrid con scroll vertical usando OverFlow en Asp .NET»

Archivo XML con la estructura de un directorio en C# y VB

Crear en el Escritorio un archivo XML con la estructura de un directorio, incluyendo archivos y subcarpetas de forma recursiva, utilizando la clase XDocument del espacio de nombres System.Xml.Linq, y mostrar en un control el texto generado con el método WriteAllText de la clase File, en C# y VB

Basado en el código propuesto por Marcin Juraszek en el artículo «Creating XML file representing folder structure (including subfolders) in C#» del sitio web stackoverflow.

Continuar leyendo «Archivo XML con la estructura de un directorio en C# y VB»

JAVA_HOME en Windows 10

Configurar las variables de entorno para que Windows 10 ejecute correctamente los programas Java, tanto para compilarlos (javac.exe) como para ejecutarlos (java.exe); este artículo aplica a Windows 10 y JDK 8 (Java Development Kit)

Después de instalar JDK en Windows 10 es posible que los ejecutables de Java no sean reconocidos desde la línea de comandos a pesar de que la instalación del JDK añade a la variable de entorno de sistema PATH el valor
C:\Program Files (x86)\Common Files\Oracle\Java\javapath.

Para solucionarlo hay que decirle al sistema dónde están los ejecutables de Java. Esto se consigue en 2 pasos bastante sencillos que configuran la variable de entorno JAVA_HOME.

Continuar leyendo «JAVA_HOME en Windows 10»

macOS Catalina 10.15 en la placa P55-USB3

Instalar macOS 10.15 Catalina en la placa Gigabyte P55-USB3 con tarjeta gráfica Radeon RX 580 utilizando un dispositivo USB con el programa de instalación creado mediante el comando createinstallmedia y con Clover como gestor de arranque. Las instrucciones para instalar macOS 10.14 Mojave en este ordenador son prácticamente las mismas, reemplazando la aplicación Catalina por Mojave, por lo que este artículo sirve para ambas versiones de macOS. La placa base Gigabyte P55-USB3 (y algunas otras de la misma marca con chipset P55 / H55) facilitaron el montaje de un hackintosh desde hace 10 años y la instalación de macOS desde la versión 10.6 Snow Leopard. Aunque se trata de una placa veterana, el comportamiento con Mojave o Catalina es muy bueno después de cambiar el disco duro clásico de platos giratorios (HDD) por uno de estado sólido (SSD).

Componentes del hackintosh

  • Placa base Gigabyte GA-P55-USB3: chipset P55, socket 1156, audio ALC892, red Gigabit RTL8111D, admite hasta 4 módulos de memoria RAM DDR3
  • Procesador Intel Core i5-750 para socket 1156: 4 núcleos, caché de 8MB, frecuencia de reloj 2,66 GHz
  • Tarjeta inalámbrica + bluetooth fenvi FV-T919: PCI-Express, wifi es de tipo ac, reconocida por macOS como Airport y bluetooth de Apple
  • Tarjeta gráfica Radeon RX 580 de 8GB: funciona bien tal como sale de la caja pero hay algunos detalles que merecen ser tenidos en cuenta, tiene su propio artículo.
Continuar leyendo «macOS Catalina 10.15 en la placa P55-USB3»

Atributos de la directiva @Page

Los atributos de la directiva @Page en la cabecera de los archivos de código aspx son diferentes dependiendo de que se trabaje dentro o fuera del entorno de Visual Studio

La directiva @Page de las páginas aspx es distinta en cada uno de los 2 casos.

Entorno de Visual Studio

Se usan estos atributos en la directiva @Page:

  • CodeBehind, que especifica el nombre del archivo compilado que contiene la clase asociada con la página. El diseñador de formularios Web Forms de Visual Studio usa este atributo para averiguar dónde se encuentra la clase derivada de Page de forma que pueda crear una instancia de la misma para que se pueda trabajar con ella en tiempo de diseño. CodeBehind sólo se usa en tiempo de diseño, no se usa en tiempo de ejecución, el archivo vb como tal no es necesario, sólo la librería dll resultante de la compilación.
  • Inherits, que define la clase de la que hereda la página aspx. Esta clase será buscada en la librería correspondiente de la carpeta bin de la raíz del servidor Web, según el esquema nombre_de_la_dll.nombre_de_la_clase.
Continuar leyendo «Atributos de la directiva @Page»

Access con DataBinding en C#: Crystal Reports desde DataSet

Aplicación que carga datos desde una base de datos de Microsoft Access, los muestra en unos controles TextBox que se enlazan a los datos por medio de DataBinding y genera un informe para imprimir usando Crystal Reports a partir de un archivo XML intermedio que reproduce el estado actual de selección de registros en un DataSet tipado, en C#

DataBinding: enlace de datos a controles

En este ejercicio se enlazan directamente controles TextBox del formulario con campos del origen de datos. Para enlazar controles de un formulario con un origen de datos se usa la propiedad DataBinding que sirve para obtener acceso a la ControlBindingsCollection que representa a la colección de enlaces de datos de un control. Al objeto Binding le pasamos la propiedad del control que se debe enlazar, el origen de datos (DataSet) y la tabla o columna. El objeto Binding se añade a la colección de enlaces de datos del control elegido utilizando el método Add().

Continuar leyendo «Access con DataBinding en C#: Crystal Reports desde DataSet»

Access con DataBinding en C#: PDF desde archivo HTML

Aplicación que carga datos desde una base de datos de Microsoft Access, los muestra en unos controles TextBox que se enlazan a los datos por medio de DataBinding y genera un informe PDF usando NReco.PDFGenerator a partir de un archivo HTML intermedio obtenido al aplicar transformación XSL a un archivo XML que reproduce el estado actual de selección de registros, en C#

DataBinding: enlace de datos a controles

En este ejercicio se enlazan directamente controles TextBox del formulario con campos del origen de datos. Para enlazar controles de un formulario con un origen de datos se usa la propiedad DataBinding que sirve para obtener acceso a la ControlBindingsCollection que representa a la colección de enlaces de datos de un control. Al objeto Binding le pasamos la propiedad del control que se debe enlazar, el origen de datos (DataSet) y la tabla o columna. El objeto Binding se añade a la colección de enlaces de datos del control elegido utilizando el método Add().

Continuar leyendo «Access con DataBinding en C#: PDF desde archivo HTML»

Deslimitar Specialized Turbo Levo 2018

Modificar el límite de velocidad de la bicicleta eléctrica Specialized Turbo Levo modelo año 2018 para poder superarlo con el motor activo usando LightBlue Explorer (BLE ) o BLEvo for Smart Turbo Levo

Nota sobre el modelo 2019

El artículo original refería al modelo 2018 de esta bicicleta y al software LightBlue Explorer (BLE) de Punch Through. Este método no funcionaba con el modelo 2019. Para más complicación, las versiones recientes de la app Mission Control han perdido la opción de modificar el diámetro de la rueda y alterar la velocidad máxima permitida con motor.
Pero utilizando otro software llamado BLEvo for Smart Turbo Levo de Paolo Dozio es posible realizar esta modificación en los modelos 2018 y también en los modelos 2019. BLEvo a diferencia de BLE no es gratuita pero las opciones que ofrece y sus características compensan el pago al comprarla. Su interfaz no es demasiado elegante pero su funcionamiento es óptimo. Dejando aparte otras muchas características y centrándonos en la que nos ocupa, esta app permite modificar o bien el diámetro de la rueda o bien la velocidad de corte del motor. El fin obtenido es el mismo con cualquiera de las 2 configuraciones.

Turbo Levo modelo 2018

Specialized tiene el que para mí es el mejor modelo de bicicleta eléctrica de montaña con suspensión doble, la Turbo Levo FSR. Hay varios modelos con precios y calidades diferentes pero todos llevan batería integrada en el tubo diagonal y motor central integrado en la zona del pedalier. Son bicicletas que se manejan perfectamente por la montaña a pesar de su peso en parado que es muy superior al de las bicicletas sin motor.

Continuar leyendo «Deslimitar Specialized Turbo Levo 2018»

Aplicaciones de 64 bits con Acces en VS y Office 2019

Configurar proyectos de bases de datos de Microsoft Access en sistemas con la versión de 64 bits de Office 2019 para que los proyectos también se compilen y ejecuten a 64 bits, en Visual Studio 2019

En muchos sistemas conviven versiones de 32 bits de Visual Studio y de Microsoft Office. En esas circunstancias, para diseñar proyectos que utilizan bases de datos de Access es obligatorio configurar los proyectos para que compilen y ejecuten en el modo de 32 bits ya que el componente (Access Database Engine – Componente redistribuible del motor de base de datos de Microsoft Access) que permite interoperar entre los programas de Office y otras aplicaciones como Visual Studio también es de 32 bits al tener que coincidir con la plataforma de Office.

Continuar leyendo «Aplicaciones de 64 bits con Acces en VS y Office 2019»

Microsoft Access en Java con Ucanaccess de 64 bits (2)

Conectar con una base de datos de Microsoft Access mediante el controlador JDBC UCanAccess, emitir sentencias SQL a la base de datos y mostrar los resultados, ejecutar el programa desde línea de comandos junto con las dependencias, crear archivos de comando para ejecutar el programa; ejercicio de Java para consola

Desde Java 8 la conexión JDBC-ODBC ya no se incluye en Java. Existen algunos controladores JDBC propietarios para conectar con MS Access pero el proyecto UCanAccess está activo actualmente, es open source y proporciona un controlador JDBC generado sobre código de Jackcess.
UCanAccess funciona bien y es sencillo de utilizar. El dato más remarcable es el de las dependencias que requiere que en la versión actual 4.0.1 son: ucanaccess-4.0.1, hsqldb-2.3.1, jackcess-2.1.6, commons-logging-1.1.1 y commons-lang-2.6.

Jackcess a diferencia de UCanAccess es una librería de código Java diseñada para leer y escribir bases de datos de MS Access que no es un controlador JDBC sino una implementación directa de las características disponibles para interactuar con bases de datos de MS Access. Su licencia es del tipo Apache License.

Continuar leyendo «Microsoft Access en Java con Ucanaccess de 64 bits (2)»