viernes, 23 de junio de 2017

Ajustar columnas de un GridView al contenido de los camps desde código.

  gridView1.OptionsBehavior.AutoPopulateColumns = true; //'generar automaticamente las columnas a raíz del dataset
            gridView1.OptionsView.ColumnAutoWidth = false; //' para mantener el ancho si ajustar al ancho del contenedor
 gridControl1.DataSource = ds;//Mi dataSet
 gridView1.BestFitColumns();

martes, 11 de noviembre de 2014

Agregar Columnas a GridView en Tiempo de Ejecución y Enlazarlas a Datos



///


'Declaracion del DataSet
Dim ds As New DataSet
 
'Agregamos la tabla a la que le agregaremos columnas
ds.Tables.Add("Conceptos")

'Llenamos el checkList con una catalogo previamente consultado
With lstDonadores
 .DataSource = ds.Tables("donadores")
 .DisplayMember = "Nombre"
 .ValueMember = "IdDonador"
End With
  
'Evento que se desencadena al hacer click en un boton o donde requieran agregar los campos
'de los elementos del cheklist chequeados
For Each registro As Integer In lstDonadores.CheckedIndices
 
 'Agregamos las columnas
 ds.Tables("Conceptos").Columns.Add("reg" & CType(lstDonadores.Items.Item(registro), DataRowView)("idDonador"), GetType(Double))
 ds.Tables("Conceptos").Columns("reg" & CType(lstDonadores.Items.Item(registro), DataRowView)("idDonador")).Caption = "Aporte de " & CType(lstDonadores.Items.Item(registro), DataRowView)("nombre")
 
 'Creamos los GridColums y los enlazamos a datos
 Dim columna As New DevExpress.XtraGrid.Columns.GridColumn()
 columna.Name = "reg" & CType(lstDonadores.Items.Item(registro), DataRowView)("idDonador") 
 columna.FieldName = "reg" & CType(lstDonadores.Items.Item(registro), DataRowView)("idDonador") 

 'Cambiamos la apariencia
 columna.AppearanceCell.ForeColor = Drawing.Color.DarkRed

 'Asignamos propiedades
 columna.Visible = True
 columna.Caption = "Aporte de " & CType(lstDonadores.Items.Item(registro), DataRowView)("nombre")

 'Agregamos la columna al GridView no al GridControl
 GridView2.Columns.Add(columna)

 'Llenamos los campos con valores default
 For Each columnasAgregadas As DataRow In ds.Tables("Conceptos").Rows
  columnasAgregadas(columna.Name) = "0.00"
 Next
 
 'Refrescamos los Datos del GridControl y por tanto los veremos la informacion actualizada de
 'sus GridViews
 dtgActividades.RefreshDataSource()
Next













jueves, 20 de marzo de 2014

ShowPreview de XtraReport en ultimas versiones de DevExpress

Para los que tuvieron problemas al visualizar un reporte con las propiedades ShowPreview , la cual ya no aparece directamente en el objeto XtraReport1 de las ultimas versiones del DevExpress.

Aca les traigo un codigo 

Dim reporte As New XtraReport1
reporte.PaperKind = Printing.PaperKind.A4

Using vprevia As New DevExpress.XtraReports.UI.ReportPrintTool(reporte)
    vprevia.ShowPreviewDialog()
End Using



espero les sirva...

Saludos..

Raciel Moreno

sábado, 22 de septiembre de 2012

¿Como se puede obtener la imagen de la fila seleccionada de un GridControl?

¿En un GridControl donde se cargan imágenes en cada registro, como se puede obtener la imagen correspondiente a la fila seleccionada?


Agradeceriamos el apoyo de los seguidores del blog.......

sábado, 2 de junio de 2012

EXTRAER LAS DEPENDENCIAS DE UNA O MÁS TABLAS SQLServer por Angel Horberg

Bueno antes que nada como se que mi gran amigo Raciel Moreno es Netcero y SQLsero y como no me va adar tiempo de registrarme para publicar (Si lo considera importante lo publicará) aporto algo relacionado a EXTRAER LAS DEPENDENCIAS DE UNA O MÁS TABLAS SQLServer desde código, el ejemplo que expongo extraigo las dependencias de varias tablas (No es necesario indicar es muy obvio el código), una vez extraiudas las dependencias las meto en un CURSOR itero este y elimino el contendio de estas dependencias, al final ELIMINO el contendio de las tablas principales de las cuales extraje las dependencias, eh acá el codigo del PROCEDIMEINTO ALMACENADO:

CREATE PROCEDURE dbo.DeleteDependenciasEmpleados
AS
BEGIN
DECLARE @nombreTabla varchar(255)
DECLARE @query VARCHAR(500)

DECLARE cursosrEmpleados CURSOR FOR

SELECT FK_Table = FK.TABLE_NAME FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS C
INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS FK ON C.CONSTRAINT_NAME = FK.CONSTRAINT_NAME
INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS PK ON C.UNIQUE_CONSTRAINT_NAME = PK.CONSTRAINT_NAME
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE CU ON C.CONSTRAINT_NAME = CU.CONSTRAINT_NAME
INNER JOIN (SELECT TC.TABLE_NAME, CU.COLUMN_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE CU ON TC.CONSTRAINT_NAME = CU.CONSTRAINT_NAME
WHERE TC.CONSTRAINT_TYPE = 'PRIMARY KEY'
) PT ON PT.TABLE_NAME = PK.TABLE_NAME
WHERE PK.TABLE_NAME = 'Empleados'
OR PK.TABLE_NAME = 'HNSS'
OR PK.TABLE_NAME = 'HNum_ISSSTE'
OR PK.TABLE_NAME = 'HHcta_FOVISSSTE'
OR PK.TABLE_NAME = 'HFecha_Alta_Gob_Fed'
OR PK.TABLE_NAME = 'HFecha_Alta_SEP'
OR PK.TABLE_NAME = 'HFecha_Alta_Rama'
OR PK.TABLE_NAME = 'HForte'
OR PK.TABLE_NAME = 'HQn_Quinquenio'
OR PK.TABLE_NAME = 'HAn_Quinquenio'
OR PK.TABLE_NAME = 'RGrado_Academico'
ORDER BY 1

-- Apertura del cursor
OPEN cursosrEmpleados
-- Lectura de la primera fila del cursor
FETCH cursosrEmpleados INTO @nombreTabla

WHILE (@@FETCH_STATUS = 0 )
BEGIN
PRINT @nombreTabla
EXECUTE ('DELETE FROM '+ @nombreTabla)
-- Lectura de la siguiente fila del cursor
FETCH cursosrEmpleados INTO @nombreTabla
END

--Elimino a mano todas las tablas qu een teoria son las del Layout
PRINT 'Empleados'
EXECUTE ('DELETE FROM Empleados')
PRINT 'HNSS'
EXECUTE ('DELETE FROM HNSS')
PRINT 'HNum_ISSSTE'
EXECUTE ('DELETE FROM HNum_ISSSTE')
PRINT 'HHcta_FOVISSSTE'
EXECUTE ('DELETE FROM HHcta_FOVISSSTE')
PRINT 'HFecha_Alta_Gob_Fed'
EXECUTE ('DELETE FROM HFecha_Alta_Gob_Fed')
PRINT 'HFecha_Alta_SEP'
EXECUTE ('DELETE FROM HFecha_Alta_SEP')
PRINT 'HFecha_Alta_Rama'
EXECUTE ('DELETE FROM HFecha_Alta_Rama')
PRINT 'HForte'
EXECUTE ('DELETE FROM HForte')
PRINT 'HQn_Quinquenio'
EXECUTE ('DELETE FROM HQn_Quinquenio')
PRINT 'HAn_Quinquenio'
EXECUTE ('DELETE FROM HAn_Quinquenio')
PRINT 'RGrado_Academico'
EXECUTE ('DELETE FROM RGrado_Academico')

-- Cierre del cursor
CLOSE cursosrEmpleados
-- Liberar los recursos
DEALLOCATE cursosrEmpleados
END

miércoles, 16 de mayo de 2012

Consideraciones en el GridControl Maestro-Detalle.

En un proyecto que estoy llevando a cabo, me vi a la necesidad de mostrar un GridControl (Maestro-Detalle) pero que tiene dos Detalles, es decir, un DataSet con tres DataTable, donde dos tablas dependen de la misma; de acuerdo a las entradas anteriores esto es posible si lleva al pie de la letra, salvo un detalle que se presenta cuando se ejecuta el proyecto.....

El detalle es el siguiente: Al momento de llenar el DataSet y enlazarlo al GridControl y ejecutarlo, este no muestra como activo el icono (+) para desplegar los detalles de la tabla que pertenezca a la segunda relación del DataSet, pero sin embargo si le haces clic al icono, se despliega correctamente el detalle aunque este en color gris inactivo, y solo se va a mostrar como activo cuando la tabla de la primera relación tenga datos.

Un ejemplo:

1. Creas el DataSet
2.-Creas el DataTable Maestro
3.-Creas el primer DataTable Detalle
4.-Creas el segundo DataTable Detalle
5.- Creas la primera relación (DataTable Maestro - primer DataTable Detalle)
6.- Creas la segunda relación (DataTable Maestro - segundo DataTable Detalle) 


Para solucionar este detalle, después de hacer el DataSource sobre el GridControl se debe escribir el siguiente código:

GridViewMaestro.OptionsDetail.SmartDetailExpandButtonMode = DetailExpandButtonMode.CheckAllDetails;

y en la propiedad ChildGridLevelName de los dos GridView detalles, ponerle el nombre de la la relacion correspondiente (tome en consideracion la entrada Maestro-Detalle)


Si te servio comenta por favor.

Saludos

Ajustar columnas de un GridView al contenido de los camps desde código.

  gridView1.OptionsBehavior.AutoPopulateColumns = true; //'generar automaticamente las columnas a raíz del dataset             gridVie...