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();
DevExpress-Hispano por Raciel Moreno
DevExpress para desarrolladores .NET de habla hispana...
viernes, 23 de junio de 2017
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
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.......
viernes, 8 de junio de 2012
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
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
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
Suscribirse a:
Entradas (Atom)
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...
-
gridView1.OptionsBehavior.AutoPopulateColumns = true; //'generar automaticamente las columnas a raíz del dataset gridVie...
-
/// 'Declaracion del DataSet Dim ds As New DataSet 'Agregamos la tabla a la que le agregaremos columnas ds.Tables.Add(...
-
Maestro-Detalle en GridControl Para lograr que el GridControl muestre los datos con una estructura Maestro-Detalle , tendremos que llevar a...