Foros del Web » Programación para mayores de 30 ;) » .NET »

Datagrid totalmente dinámico

Estas en el tema de Datagrid totalmente dinámico en el foro de .NET en Foros del Web. Buenos días, necesito crear un Datagrid 'vacío' (sin definición de columnas) y al realizar la select sobre la base de datos cargarlo con diferentes : ...
  #1 (permalink)  
Antiguo 04/04/2005, 03:58
j@n
 
Fecha de Ingreso: febrero-2004
Mensajes: 178
Antigüedad: 20 años, 2 meses
Puntos: 0
Pregunta Datagrid totalmente dinámico

Buenos días,
necesito crear un Datagrid 'vacío' (sin definición de columnas)
y al realizar la select sobre la base de datos cargarlo con diferentes :
- cabecera, color, núm.columnas... : dependiendo de la opción pulsada por el usuario.



Pero no sé como hacerlo.... ¿pueden pasarme información?
Creo que tengo que usar: TemplateColumn o BoundColumn !! ......

He revisado algunos de los POSTs del foro y... no mentero mucho.

gracias
Att. j@n
  #2 (permalink)  
Antiguo 04/04/2005, 04:14
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Las columnas simplemete cdo enlazas el datagrid con una cossulta,las columnas q eligas en esa consulta son las que te apareceran en tu datagrid,simpre q no hayas kitado la opcion de q se creen automaticamente(aparece en prperty builder,columnas),el problema sera mas en cuanto a los colores diferentes segun consultas diferentes,eso no lo he hecho nunca.
todo el tema de formatos de colores tamaños para cualquier cosa (incluido datagrid) lo he hecho simepre estaticamente,sya q va dentro del html,y este es estatico,si alguien sabe si se pued ecambiar dinamicamente q me corriga
  #3 (permalink)  
Antiguo 04/04/2005, 04:25
j@n
 
Fecha de Ingreso: febrero-2004
Mensajes: 178
Antigüedad: 20 años, 2 meses
Puntos: 0
Pregunta datagrid

gracias por tu pronta respuesta.

El problema es que no sólo tengo que "colocar" en el datagrid el resultado de una consulta. También tengo algunos checkbox.

* Las diferentes consultas sobre bbdd me pueden devolver un número diferente de columnas; con lo que no puedo forzar el datagrid a x columnas *

No sé como tener el datagrid con la opción de q se creen automaticamente, pero añadir columnas (checkbox) ¿¿????

¿alguien tiene alguna pista?
espero su ayuda. gracias

Lo de los colores.. estilos y tal. lo puedo controlar desde el HTML y también usando : Datagrid_ItemDataBound
  #4 (permalink)  
Antiguo 04/04/2005, 04:30
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
si ves el siguiente tema,ando peleandome con los checbox estaticamente,asi q dinamicamente........

si no son muchas consultas,podrias tener varios datagrd,y q esten visibles=false
y segun eliga q salga uno o otro con sus clumnas creadas estaticamente.....

Esto te lo propongo como solucion si no encuentras lo q buscas,q supongo ya lo habras barajao.
  #5 (permalink)  
Antiguo 04/04/2005, 04:43
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Como solucion costosa pero posible solucion,puedes meter codigo entre tu html,
por medio de etiquetas

Tendrias q por ejemplo 5 tipos de cosultas
<% if tipo=1 then %>
<asp:DataGrid id="DataGrid1" runat="server" BorderStyle="None" BorderWidth="1px" BorderColor="#3366CC" BackColor="White" CellPadding="4" AutoGenerateColumns="False" AllowSorting="True">
<FooterStyle forecolor="#003399" backcolor="#99CCCC"></FooterStyle>
<HeaderStyle font-bold="True" forecolor="#CCCCFF" backcolor="#003399"></HeaderStyle>
<PagerStyle horizontalalign="Left" forecolor="#003399" backcolor="#99CCCC" mode="NumericPages"></PagerStyle>
<SelectedItemStyle font-bold="True" forecolor="#CCFF99" backcolor="#009999"></SelectedItemStyle>
<ItemStyle forecolor="#003399" backcolor="White"></ItemStyle>
<Columns>
<asp:BoundColumn DataField="Tipo" HeaderText="Tipo Curso"></asp:BoundColumn>
<asp:BoundColumn DataField="Curso" HeaderText="Nombre Curso"></asp:BoundColumn>
<asp:BoundColumn DataField="FechaInscripcion" HeaderText="Fecha Inscripcion" DataFormatString="{0:MM-dd-yyyy}"></asp:BoundColumn>
<asp:BoundColumn DataField="fechaIni" HeaderText="Fecha Inicio" DataFormatString="{0:MM-dd-yyyy}"></asp:BoundColumn>
<asp:BoundColumn DataField="FechaFin" HeaderText="Fecha Fin" DataFormatString="{0:MM-dd-yyyy}"></asp:BoundColumn>
<asp:BoundColumn DataField="Descripcion" HeaderText="Descripcion"></asp:BoundColumn>
<asp:BoundColumn DataField="Centro" HeaderText="Lugar"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="Pagado">
<ItemTemplate>
<asp:CheckBox id="CheckBox1" Enabled="False" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<% else %>
<asp:DataGrid id="DataGrid1" ...
....
<% end if %>

Podrias tener una opcion inicial q si no vinee con ningun tipo no muestre datagrid y donde marca tipo consulta q llame a esta misma pagina y en la url q metas las opciones y el tipo..

Asi podrias definir el color y too,lo cogerias lo harias estaticamente en otro sitio para cada uno y luego lo copias y lo pegas aki
  #6 (permalink)  
Antiguo 04/04/2005, 05:03
j@n
 
Fecha de Ingreso: febrero-2004
Mensajes: 178
Antigüedad: 20 años, 2 meses
Puntos: 0
mmmm mmmm

lo había pensado
pero puedo tener hasta 5 diferentes resultados [datagrids] (incluso puedo tener más en un futuro.....)

así que.... ese IF no creo que sea la mejor opción!

si se te ocurre otra cosa... me cuentas!

Gracias por tu tiempo.
j@n
  #7 (permalink)  
Antiguo 05/04/2005, 03:59
j@n
 
Fecha de Ingreso: febrero-2004
Mensajes: 178
Antigüedad: 20 años, 2 meses
Puntos: 0
Desacuerdo no encuentro solución...

sigo peleándome con los diferentes resultados de las consultas...

si un datagrid tengo la propiedad: AutoGenerateColumns="true"
¿no puedo modificar ni el título de la columna?, ¿ni tamaño?, ¿nada?

si lo dejo como : AutoGenerateColumns="false"
¿como puedo modificar el header de la columna?
¿y como 'relleno' el datagrid con los resultados?
¿¿ Tengo que recorrer de nuevo todo el dataset ??

Espero puedan ayudarme.... estoy con el temita !!
gracias

j@n
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:23.