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

cehckbox en datagrid

Estas en el tema de cehckbox en datagrid en el foro de .NET en Foros del Web. Me han pedido que muestre en un datagrid si esta pagado o no una serie d ecursos con casillas de verificacion La columna d ela ...
  #1 (permalink)  
Antiguo 01/04/2005, 07:44
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
cehckbox en datagrid

Me han pedido que muestre en un datagrid si esta pagado o no una serie d ecursos con casillas de verificacion
La columna d ela bd me devuleve 0 si no esta pagado y 1 si lo esta
Como podria meter un columna del datradrid asociada a esta columno pagada y q salga en plan checkbox???????????
  #2 (permalink)  
Antiguo 01/04/2005, 08:24
Avatar de Rony J.  
Fecha de Ingreso: noviembre-2004
Ubicación: Maracay - Vzla
Mensajes: 223
Antigüedad: 19 años, 5 meses
Puntos: 0
Osea que si es 0 aparexca el check activado y sino desactivado?

Seria algo asi:
<asp:TemplateColumn>
<ItemTemplate>
<asp:CheckBox id=GinyxCheckBox1 runat="server" Checked='<%# DataBinder.Eval(DataSet, "Tables[table1].DefaultView.[0].CampoPagado") %>'>
</cc1:GinyxCheckBox>
</ItemTemplate>
</asp:TemplateColumn>

Esta seria una alternativa... Espero t sirva de ayuda!
__________________
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas. Albert Einstein
  #3 (permalink)  
Antiguo 01/04/2005, 09:03
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Al meter el asp:checbox da e siguiente error:

System.Web.HttpParseException: Parser Error: Literal content ('</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>') is not allowed within a 'System.Web.UI.WebControls.CheckBox'. ....

incluso poniendo solo esto:

<Columns>
<asp:BoundColumn DataField="Apellidos_Nombre" HeaderText="Apellidos, Nombre"></asp:BoundColumn>
<asp:BoundColumn DataField="DNI" HeaderText="DNI"></asp:BoundColumn>
<asp:BoundColumn DataField="Telefono1" HeaderText="Telefono 1"></asp:BoundColumn>
<asp:BoundColumn DataField="Telefono2" HeaderText="Telefono 2"></asp:BoundColumn>
<asp:BoundColumn DataField="Curso" HeaderText="Curso"></asp:BoundColumn>
<asp:BoundColumn DataField="FechaINi" HeaderText="Fecha Inicial" DataFormatString="{0:MM-dd-yyyy}"></asp:BoundColumn>
<asp:BoundColumn DataField="FechaFin" HeaderText="fecha Final" DataFormatString="{0:MM-dd-yyyy}"></asp:BoundColumn>
<asp:BoundColumn></asp:BoundColumn>
<asp:TemplateColumn HeaderText="Pagado">
<ItemTemplate>
<asp:CheckBox id="GinyxCheckBox1" runat="server" >

</ItemTemplate>
</asp:TemplateColumn>
</Columns>


da el error
en el momento q meto el asp:checbos ya da
  #4 (permalink)  
Antiguo 01/04/2005, 09:15
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Gracias,encontre esto q me sirvio de mucha ayuda


http://support.microsoft.com/default...306227&sd=msdn
  #5 (permalink)  
Antiguo 01/04/2005, 09:20
Avatar de Rony J.  
Fecha de Ingreso: noviembre-2004
Ubicación: Maracay - Vzla
Mensajes: 223
Antigüedad: 19 años, 5 meses
Puntos: 0
jej jej por nada...
Por cierto sta el articulo..
Saludos!!
__________________
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas. Albert Einstein
  #6 (permalink)  
Antiguo 01/04/2005, 10:02
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Una preguntita rony,el enlace q postee antes esta muy biene,te enseña paso apaso a meter el chebox pero no termino de enlazar para q me salga lo q keria

He conseguido a traves d eso poner una cosa identica a la q me posteaste ,me aparecen sin dar ningun erro los chebox sin chekear ni devolviendo 0 ni 1 el pagado

html:

<Columns>
<asp:BoundColumn DataField="Apellidos_Nombre" HeaderText="Apellidos, Nombre"></asp:BoundColumn>
<asp:BoundColumn DataField="DNI" HeaderText="DNI"></asp:BoundColumn>
<asp:BoundColumn DataField="Telefono1" HeaderText="Telefono 1"></asp:BoundColumn>
<asp:BoundColumn DataField="Telefono2" HeaderText="Telefono 2"></asp:BoundColumn>
<asp:BoundColumn DataField="Curso" HeaderText="Curso"></asp:BoundColumn>
<asp:BoundColumn DataField="FechaINi" HeaderText="Fecha Inicial" DataFormatString="{0:MM-dd-yyyy}"></asp:BoundColumn>
<asp:BoundColumn DataField="FechaFin" HeaderText="fecha Final" DataFormatString="{0:MM-dd-yyyy}"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="Pagado">
<ItemTemplate>
<asp:CheckBox id="CheckBox" runat="server" Checked='<%# DataBinder.Eval(DataSet, "Tables[tcursos].DefaultView.[0].Pagado") %>'></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="Pagado" HeaderText="Pagado"></asp:BoundColumn>
</Columns>

el enlace lo hago en el page load con un dataset ds :

dim cn as System.Data.SqlClient.SqlConnection
cn=conexion()
cn.open()
Dim adap1 as System.Data.SqlClient.SqldataAdapter

Dim ds as System.Data.DataSet
dim curso as string
curso=Request.querystring("curso")
adap1=new System.Data.SqlClient.SqlDataAdapter("Select (Apellidos + ', ' + Nombre) 'Apellidos_Nombre',"& _
"DNI,telefono1,telefono2,denominacion 'curso' "& _
",s.FechaINi ,s.FechaFin ,Pagado "& _
" from solicitud s,alumnos a,cursos_fnocontinua c "& _
"where a.codigo=s.alumno and s.codcurso=c.codigo"& _
" and c.Tipo='"& curso & "' order by Apellidos_Nombre" ,cn)

ds=new System.Data.DataSet()
adap1.Fill(ds,"TCURSOS")

cn.close()
datagrid1.DataSource=ds.tables("TCURSOS")

datagrid1.databind()
  #7 (permalink)  
Antiguo 01/04/2005, 10:47
Avatar de Rony J.  
Fecha de Ingreso: noviembre-2004
Ubicación: Maracay - Vzla
Mensajes: 223
Antigüedad: 19 años, 5 meses
Puntos: 0
Probast luego de llenar al dataset asignar a una variable cualquiera lo que tiene el campo Pagado para verificar que la consulta t lo trae bien y que el problem no es en la consulta?

Porq a simple vista el codigo html de tu datagrid lo veo bien, y aunq no tengo una maquina en la que pueda probarlo y revisar mejor q pasa me parece que el error no esta en el html de tu datagrid..
__________________
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas. Albert Einstein
  #8 (permalink)  
Antiguo 04/04/2005, 01:45
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Cunado ejecuto el datagrid muestra todos los valroes correctamente,incluso puse un columna pagado.Hay tres filas,2 flias devuelve 0 y la tercera un 1,el problema es q e chebox aparece pero no aparece chekeado ni con ceros ni con el 1...

Lo que kiero es q segun pagado devuleve 0 o 1,el checkbox este chekeado o no,que el checkbox este asociado a la columna pagado.
  #9 (permalink)  
Antiguo 04/04/2005, 04:50
j@n
 
Fecha de Ingreso: febrero-2004
Mensajes: 178
Antigüedad: 20 años, 2 meses
Puntos: 0
te puede ayudar esto??

yo uso una función en el

<ItemTemplate>
<asp:CheckBox id="ChkEnvio" runat="server" Enabled='<%# functionChecked(Container.DataItem("boolenvio"))%> ' Height="6px"/>
</ItemTemplate>

donde functionChecked:
Sólo tengo un IF que devuelve TRUE/FALSE según el valor (0/1)

espero pueda servirte

j@n
  #10 (permalink)  
Antiguo 04/04/2005, 06:28
Avatar de Rony J.  
Fecha de Ingreso: noviembre-2004
Ubicación: Maracay - Vzla
Mensajes: 223
Antigüedad: 19 años, 5 meses
Puntos: 0
Cuando haces esto:

Cita:
Iniciado por neivan
<asp:CheckBox id="CheckBox" runat="server" Checked='<%# DataBinder.Eval(DataSet, "Tables[tcursos].DefaultView.[0].Pagado") %>'></asp:CheckBox>
Si el campo pagado del DataSet que cargas con la consulta trae true o false, 1 o 0 el check tiene que activarse/desactivarse según sea el caso...De todos checa lo que te dice j@n, aunque no se cual es tu error porq d sta forma deberia funcionar
__________________
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas. Albert Einstein
  #11 (permalink)  
Antiguo 04/04/2005, 07:17
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Gracias alos 2,me funciono poniendo
Checked='<%# Container.Dataitem("Pagado") %> '
Sin tener q poner la funcion

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 13:39.