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

Datagrid,actualizar solo los datos de una columna

Estas en el tema de Datagrid,actualizar solo los datos de una columna en el foro de .NET en Foros del Web. Me plantean en que un datagrid que en un de sus columnas tengo un checkbox donde pone si un alumno ha finalizado un curso,que se ...

  #1 (permalink)  
Antiguo 21/04/2005, 09:00
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Datagrid,actualizar solo los datos de una columna

Me plantean en que un datagrid que en un de sus columnas tengo un checkbox donde pone si un alumno ha finalizado un curso,que se pueda cambiar desde el grid,pero solo esta columna.
La solución de ir columna por columna con una columna boton de edicion que me convierta todos las columans enlazadas en textbox no me interesa.

Una posibilidad es a traves de codigo,cuando pulse un boton,que vaya recorriendo todas als filas del grid poniendolas en modo edición,cogiendo el item.cells de se refiere a esa columna y atraves de un adtarow actualizar la tabla...
Pero si cambia solo uno iria recorriendo todas las filas.....

Habría alguna manera de que cuando pinche en el checkbox,se actualice ese registro directamente en la base de datos??????(sólo cambia en la bd el valor de la columna del checbox)
  #2 (permalink)  
Antiguo 21/04/2005, 09:27
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
yo lo haría con un button o una imagen y en su evento on click actualizar, para no tener que recorrer, o no te vale poner una imagen???
  #3 (permalink)  
Antiguo 21/04/2005, 09:29
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Pero puedes poner un boton para actualizar los check marcados y te evitas el problema
  #4 (permalink)  
Antiguo 21/04/2005, 09:36
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Te refieres a un boton por ejemplo actualizar en cada linea del datagrid.
cada linea que kiera actualizar que pinche en e lboton y actualice el valor de la columna (pagado) ?

teniendo en cuenta que la columna pagado es de tipo checkbox,en esa misma linea se podria saber en que linea estoy y asi hacer la actualizacion cunado cambie el valor del chebox???
  #5 (permalink)  
Antiguo 21/04/2005, 09:41
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Necesito actualizar todo check que cambie,no q este marcado si estan marcados guardarlos.

La idea es hacerselo lo mas sencillo posible para lo que kiere,que es tener la capacidad de a traves del datgrid actualizar una columna que varia mucho y que es true o false,y mejor actualizarlo desde aki que ir uno por uno.
  #6 (permalink)  
Antiguo 21/04/2005, 10:23
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Es que no se si te estoy entendiendo bien, si es lo que yo creo es decir

Columna1 Columna 2 ..... Columna n

Texto1Alumno1 Texto2Alumno1...... CheckboxdePagado1
Texto1Alumno2 Texto2Alumno2.... CheckboxdePagado2
.
.
.

Es así no??, y lo que quieres es que cuando pinchen sobre el check de una fila actualice unos datos en la bd, me equivoco???
Pero lo que no se es si quieres actualizarlos en el momento de hacer click o cuando hace click sobre otro botón y saber cuales estan checkes??
  #7 (permalink)  
Antiguo 21/04/2005, 10:30
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Si lo quieres hacer por cada click, los puedes poner autopostback=true y en el evento onchanged o algo así hacer un PostBack, un poquito pesado si son muchos alumnos

Si lo quieres hacer que cuando se pulse un botón coja todos los que hay seleccionados se me ocurre, que puedes utilizar un label (de servidor, para no perder el valor), cuyo color de letra sea el del fondo, y en el evento onchanged (o algo así), lanzar un javascript, que vaya añadiendo el id al .value del label

document.getElementbyId('labeloculto').value=docum ent.getElementbyId('labeloculto').value + '#' + id, por ejemplo

y así cuando vayas al server solo tendrás que leer el value del label y no recorrer todo el grid (ya que si solo hubiese p.ej 1 seria superpesado)
No se si esto funcionará pero se puede intentar

Suerte
  #8 (permalink)  
Antiguo 21/04/2005, 10:37
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Si lo quieres hacer por cada click, los puedes poner autopostback=true y en el evento onchanged o algo así hacer un PostBack, un poquito pesado si son muchos alumnos

Si lo quieres hacer que cuando se pulse un botón coja todos los que hay seleccionados se me ocurre, que puedes utilizar un label (de servidor, para no perder el valor), cuyo color de letra sea el del fondo, y en el evento onchanged (o algo así), lanzar un javascript, que vaya añadiendo el id al .value del label

document.getElementbyId('labeloculto').value=docum ent.getElementbyId('labeloculto').value + '#' + id, por ejemplo

y así cuando vayas al server solo tendrás que leer el value del label y no recorrer todo el grid (ya que si solo hubiese p.ej 1 seria superpesado)
No se si esto funcionará pero se puede intentar

Suerte
  #9 (permalink)  
Antiguo 22/04/2005, 03:30
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Mu buena idea la del label.Así no recorro todos los registros.Y le obligo a clikar un botón de guradar cambios que compruebe lo que hay en un label...

Lo que estaba pensando es como,en el evento onchanged,recogo el valor del checbox y de su identificador.

Por ejemplo en el evento OnEditCommand="ItemsGrid_Edit"
Private Sub DataList1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DatagridCommandEventArgs )

si picho e.item.cells() me devuelve un item de una celda de la linea e

Este es un evento del datagrid
Pero el evento del checkbox tendria que ir en javascript,como controlaria esto??
  #10 (permalink)  
Antiguo 22/04/2005, 04:43
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
pues yo de javascript, no controlo mucho pero sería algo así:

onchanged="javascript:registrar(<%# DataBinder.eval(container.dataItem, "id") %>)"

<script>
function registrar(identificador)
{
document.getElementbyId('text).value= document.getElementbyId('text).value + '#' + identificador;
}
</script>

y en vez de un label un:
<input style="width:0;heigth:0" type=text id="text">

y luego lo recogerías con un split("#")
  #11 (permalink)  
Antiguo 05/05/2005, 09:05
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Lo tube que dejar apartado por otras cosas q me mandaron,el puente ... pero ya volvi al tema.

Me he estado mirando bien como va el tema del accesso a nodos ( document.getElementbyId)
Y los enlaces a datos para tener bueno idea del as cosas q hago.... y que cometaste Jose_minglein2

El tema esta en que al clickar en el checbox,no me hace naa.
Le he puesto un alert en el javascript y tb el checbox con autopostbaxk a true por si acaso.

e lcodigo del checbox en e ldatagrid es este

<asp:TemplateColumn SortExpression="Factura" HeaderText="Factura">
<ItemTemplate>
<asp:CheckBox id="CheckBox1" runat="server" Checked='<%# Container.Dataitem("Factura") %>' onchanged='javascript:registrar(<%# databinder.eval(container.dataItem , "id" ) %>)' AutoPostBack="True"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>

la funcion javascript es esta;

function registrar(identificador)
{
alert("Entra");
var p=document.getElementbyId("text");
p.setAttribute("text","Prueba");
}

Quizas este haciendo la asinacion de la propiedad text al nodo text mal (todo sera cuestion de hacer pruebas..) pero el alert para mostrar un mensaje se hace asi asi que supongo que no entrara

Ven xq no me entra????
Gracias de antemano
  #12 (permalink)  
Antiguo 05/05/2005, 09:22
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Enlazar checbox con javascript

He leido en otro tema un respuesta de rootk

Por último hay que asociar el code javascript a el control checkbox.. eso lo podemos hacer con el evento ItemDataBound y quedaría de ésta forma:
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound

If e.Item.ItemType = ListItemType.AlternatingItem Or _
e.Item.ItemType = ListItemType.Item Then
Dim chkBox As CheckBox = CType(e.Item.FindControl("CheckBox1"), CheckBox)
'Le asocio el evento onlick y le paso como parametro el objeto actual
chkBox.Attributes.Add("onclick", "unCheck(this)")
End If

End Sub

Es necesario hacer el enlace asi???
no se puede utilizar = onchanged='javascript:registrar(<%# databinder.eval(container.dataItem , "id" ) %>)'
  #13 (permalink)  
Antiguo 05/05/2005, 09:40
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Neivan, puesto que no vas a subir al servidor hasta que no le des al boton, no pongas un asp:checkbox
pon un input de tipo checkbox y haz los mismo en el evento onclick

A mi en un repeater me funciona
  #14 (permalink)  
Antiguo 05/05/2005, 09:41
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
Es necesario hacer el enlace asi???
Quieres obtener el ID del lado del cliente o del lado del server..?? son dos cosas distintas...
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #15 (permalink)  
Antiguo 05/05/2005, 09:55
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Tengo puesto el <input id="text" type="text" /> como me aconsejaste lo que pasa es que temia por el tema de que si escirbes algo en un imput text vas al servidor (recargas y vuelves y el valor lo ha pardido.Si tengo que dar a un boton la pagina se recarga,por lo tanto cuando kiera hacer los cambios en la BD y vaya a buscar el texto del imput,este seguira ahi???

Entiendo que no es lo mismo esto que la otra posibilidad que veo en todo esto q es que cada vez q clike el checkox recarge la pagina y en ese instante por ejemplo añada a una varialbe de session por ejemplo la cadena que luego tengo q utilizar para hacer los cambios caundo pulse guardar.

De todas formas el primer problema que tengo es q no veia ningun acto cuando cliko en los checks,en teoria tengo relacionado el onchanged de los check con el javascript, lo hago ;onchanged='javascript:registrar(<%# databinder.eval(container.dataItem , "id" ) %>)'

Yen el javascript tengo puesto un alert para ver si entra,y no me aparece ningun mensaje cunado cambio el valor del check.

Con el tema de :
Quieres obtener el ID del lado del cliente o del lado del server..?? son dos cosas distintas...
Voy a mirarme bien que diferencias hay antes de seguir haciendo nada
Gracias
  #16 (permalink)  
Antiguo 05/05/2005, 10:04
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
mira lo que puedes hacer es en vez de un asp:button, (al igual que con los check) pones un input de type submit (un boton html vamos)

y en vez de ir directamente al servidor en el onclick puedes hacer esto:

javascript:__doPostBack('guardar','document.getEle mentById('iddelipunt').value');

con esto aseguras que si no hay ningun control con runat server que provoque eventos te vayas al servidor y pierdas los datos, si no que así viajarán cuando tu les digas en el __eventargument del postback

Me entiendes lo que te quiero decir o me estoy liando solo???
  #17 (permalink)  
Antiguo 06/05/2005, 01:41
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Creo Jose_minglein2 que el tipo de boton que tubiera daria lo mism ya que si le tengo asociada una funcion javascript antes de recargar al página (en un asp:button) ejecutaria el código javascript.Es como cuando le asocias un windos.confirm,si no le dices que si no recarga al página y por lo tanto no va al servidor.

Voy a intentar hacerlo y haber que me sale
  #18 (permalink)  
Antiguo 06/05/2005, 01:46
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
ME respondo a mi mismo,estoy leyendo lo contrario a lo que acabo de escribir,que para ejecutar javascript en un asp:button sin ir al servidor no se puede;

http://www.elguille.info/colabora/pu...arPostBack.htm
  #19 (permalink)  
Antiguo 06/05/2005, 02:04
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Exactly, entonces, ya lo tienes???
  #20 (permalink)  
Antiguo 06/05/2005, 02:13
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Ya estoy entendiendo como va esto.
Pero tengo una ligera duda ya que esto del _dopostback es nuevo para mi,no sabia como funcionaba esto,que se generaba automarticamnte sin tu verlo una funcion javascript y que nos podemos aprobechar de ella.
la funcion tiene 2 parametros y me has comentado que le pase
('guardar','document.getEle mentById('iddelipunt').value');

Esto luego ira a estos 2 parametros de theform que luego hara el submit
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");

theform.__EVENTARGUMENT.value = eventArgument;

theform.submit();'esto es lo que hace el postback

El eventtarget lo puedo recoger luego en e lservidor cuyo argumento sería mi cadena???
Es una suposición por que no encuentro nada en google sobre esto
  #21 (permalink)  
Antiguo 06/05/2005, 02:36
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Exactamente
louego los recoges como Request.Form.Item("__eventtarget")
y
Request.Form.Item("__eventargument")

Es decir, p.ej

Sub Page_load(...)

if not ispostback
....

else
if request.form.item("__eventtarget") = "guardar"
dim valores as array = Convert.toString(request.Form.Item("__eventargumen t")).Split("#") 'Por ejemplo si los separas con #
end if
end if
end sub

(Creo que también los puedes obtener simplemente con Request.Form("__eventtarget") pero yo siempre pongo el Item)

Otra cosa lo de __doPostBack('guardar','document.getElementById('i ddelipunt').value') asegurate bien de que las comillas van así, que yo de javascript no controlo mucho y no sé si te las cojerá así bien.


Vamos, que ya casi está!!!!!
  #22 (permalink)  
Antiguo 06/05/2005, 04:12
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
La idea esta clara.
El tema esta en que esto es una pesadilla por que los errores no se entienden nada
Cada vez que meto el onclick=...
en en checbox me salen cuando ejecuto un iconito en el explorer amarillo abajo,error,pero no te especifica nada,es muy difiil solucionar nada encima me pone error en dos lineas diferentes en la sintaxis,es dificil ver los errores ya que seguramente sean por comillas y eso,estoy probando pero...
En el onclick del button si pongo como ponias da error tambien de sintaxis
Si pongo asi no da error de sintaxix pero al clicakrlo pone que el objeto no reconoce esta propiedad o metodo ; onclick="javascript:__doPostBack('Guardar',documen t.getElementbyId('text').value)"

por su parte el otro onclick lo pongo asi;
<ItemTemplate>
<asp:CheckBox id="CheckBox" runat="server" Checked='<%# Container.Dataitem("Pagado") %>'
onclick='javascript:registrar(<%# Container.DataItem("Importe") %>)'></asp:CheckBox>
</ItemTemplate>
si lo pongo asi tanbien me da el mismo error ;
onclick="javascript:registrar(<%# Databinder.Eval (Container.DataItem ,'Importe') %>);"
HE ehcho diferentes pruebas.

En el tema del acceso a nodos me pones que se accede así;
document.getElementbyId('text').value
he leido varios ejemplo en los que para acceder acceden de esta manera
var p= document.getElementbyId('text')
p.setattribute("value","el texto")
Son posibles ambas?

Perdonar por la chapa,la idea la tengo ya clara gracias a Jose_minglein2 y google ,pero de javascript se bastante poco y me esta costando ponerlo bien. Voy a buscar ejemplos en internet haber que veo pero si ven cual es mi fallo de sintaxis les agradeceria que em comentaran.
  #23 (permalink)  
Antiguo 06/05/2005, 04:35
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Lo del objeto no acepta esta propiedad o metodo puede ser porque no cree automaticamente la funcion __doPostBack, para asegurarte puedes poner esto en el pageload de tu página (fuera del if not ispostback)

Page.GetPostBackEventReference(Page)

así te aseguras que lo acepte, y si sigue dando el mismo error, ya sería fijo lo de los nodos, pero te digo que a mi me funciona con el

document.getElementbyId('text').value

voy a hacer unas pruebas un momento y te cuento.
  #24 (permalink)  
Antiguo 06/05/2005, 05:00
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Sigue apareciendo cuando cliko el boton,aparece el icono de alerta abajo en e lexplorer y pone eso
Yo creo que igual es por como lo pongo
Todos los ejemplos de internet vienen una cosa asi
onchange="__doPostBack('Nombre','')"
supongo que el document.getElementbyId('text').value debera ir entonces entre comillas pero me de falta un parentesiss.
He probado asi=
'document.getElementbyId('text')'
o
'document.getElementbyId('''text''')'
  #25 (permalink)  
Antiguo 06/05/2005, 05:12
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Te pongo la sintaxis correcta:

<script>
function add(valor, check)
{

document.getElementById('textoprueba').setAttribut e('value',document.getElementById('textoprueba').g etAttribute('value')+valor);
}
</script>

<input type="text" id="textoprueba" style="width:0px">

y luego los checks:

<input type="checkbox" onclick="javascript:add(<% DataBinder.... %>);">


y por último

<input type="button" onclick="javascript:__doPostBack('guardar',documen t.getElementById('textoprueba').Value);">

Acuerdate de poner el

Page.GetPostBackEventReference(Page) en el PageLoad

Luego habría que mirar como saber si el check si se ha checkeado o no y como hacer para saberlo y tal, si quieres lo miramos tambien
  #26 (permalink)  
Antiguo 06/05/2005, 05:15
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa, acabo de darme cuenta de porque no te lo coge coño, no me acordaba: el value va con minusculas:

document.getElementById('textoprueba').value= document.getElementById('textoprueba').value +valor

y

__doPostBack('guardar',document.getElementById('te xtoprueba').value);
  #27 (permalink)  
Antiguo 06/05/2005, 05:32
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Buenas de nuevo Neivan, te pongo el code javascript que debería llevar tu función para que no se repitan los cods, si selecciona, desselecciona, selecciona, ...

Código PHP:
function add(valor)
            {
                var 
inf document.getElementById('textoprueba').value;
                if (
inf.indexOf(valor)==-1)
                {
                    
document.getElementById('textoprueba').value document.getElementById('textoprueba').value valor;
                    
                }
                else
                {
                    
document.getElementById('textoprueba').value document.getElementById('textoprueba').value.replace(valor,'');
                }
                
                
//document.getElementById('textoprueba').setAttribute('value',document.getElementById('textoprueba').getAttribute('value')+valor);                            
                                
            


Espero que te sirva, con esto debería funcionar de P.M.

Ya me cuentas
  #28 (permalink)  
Antiguo 06/05/2005, 07:52
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Joder que funcion mas guapa te has currao (tengo un poco oxidao java tanto vb....):lo unico me he fijao que si reemplazamos el valor por '' quedara seguramente un espacio entre almohadillas que luego tendria que controlar pero bueno,esta d eputa madre.

Lo unico que mi problema no era la funcion si no lo que la llama.
sique dando los mismos problemas.
Me esplico,cargo la pagina y se ve el datagrid de puta madre per otiene un icono abajo amarillo que pono qie la pagina puede no funcionar correctamente por un erro de sintaxis porvocado por
onclick="javascript:add(<% DataBinder.Eval(Container.DataItem,'DNI') %>);"
si lo quito no aparece ese problema,la funcion no es por que la dejo hasta he probao a dejarla vacia....
Y luego cuando pincho boton no se ve que pase nada,voy al icono amarillo y aparece una nueva linea de fallo;
El objeto no acepta esta propiedad o metodo
y tengo puesto esto;
onclick="javascript:__doPostBack('Guardar',documen t.getElementbyId('text').value)"
y en e lpagelaod lo otro fuera del if not....

Voy a adjuntar todo mi html para q veas,no es mu lardo.

<html>
<head>
<script>
function add(valor)
{
var inf = document.getElementById('text').value;
if (inf.indexOf(valor)==-1)
{
document.getElementById('text').value = document.getElementById('text').value + valor;

}
else
{
document.getElementById('text').value = document.getElementById('text').value.replace(valo r,'');
}

//document.getElementById('text').setAttribute('valu e',document.getElementById('text').getAttribute('v alue')+valor);

}
</script>
</head>
<body>
<form runat="server">
<img style="WIDTH: 162px; HEIGHT: 65px" height="65" src="logo.GIF" width="130" />
<asp:DataGrid id="DataGrid1" runat="server" AllowSorting="True" BorderStyle="None" GridLines="Vertical" BorderWidth="1px" BorderColor="#999999" BackColor="White" CellPadding="3" AutoGenerateColumns="False" onsortcommand="DataGrid1_SortCommand">
<FooterStyle forecolor="Black" backcolor="#CCCCCC"></FooterStyle>
<HeaderStyle font-bold="True" forecolor="White" backcolor="#000084"></HeaderStyle>
<PagerStyle horizontalalign="Center" forecolor="Black" backcolor="#999999" mode="NumericPages"></PagerStyle>
<SelectedItemStyle font-bold="True" forecolor="White" backcolor="#008A8C"></SelectedItemStyle>
<AlternatingItemStyle backcolor="Gainsboro"></AlternatingItemStyle>
<ItemStyle forecolor="Black" backcolor="#EEEEEE"></ItemStyle>
<Columns>
<asp:BoundColumn DataField="Apellidos_Nombre" SortExpression="Apellidos_Nombre" HeaderText="Apellidos, Nombre"></asp:BoundColumn>
<asp:BoundColumn DataField="DNI" SortExpression="DNI" HeaderText="DNI"></asp:BoundColumn>
<asp:BoundColumn DataField="Telefono1" SortExpression="Telefono1" HeaderText="Teléfono móvil"></asp:BoundColumn>
<asp:BoundColumn DataField="Telefono2" SortExpression="Telefono2" HeaderText="Teléfono fijo"></asp:BoundColumn>
<asp:BoundColumn DataField="Curso" SortExpression="Curso" HeaderText="Curso"></asp:BoundColumn>
<asp:BoundColumn DataField="FechaINi" SortExpression="FechaINi" HeaderText="Fecha Inicial" DataFormatString="{0:MM-dd-yyyy}"></asp:BoundColumn>
<asp:BoundColumn DataField="FechaFin" SortExpression="FechaFin" HeaderText="Fecha Final" DataFormatString="{0:MM-dd-yyyy}"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="Pagado">
<ItemTemplate>
<asp:CheckBox id="CheckBox" runat="server" Checked='<%# Container.Dataitem("Pagado") %>' onclick="javascript:add(<% DataBinder.Eval(Container.DataItem,'DNI') %>);" ></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<!-- Insert content here --><a href="TipoCurso.aspx">volver atras</a>
<input id="text" type="text" />
<input onclick="javascript:__doPostBack('Guardar',documen t.getElementbyId('text').value)" type="button" value="Guardar" runat="server" />
</form>
</body>
</html>

  #29 (permalink)  
Antiguo 06/05/2005, 09:14
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Quitale el runat server tanto al input como a los checkbox, si sigue sin funcionarte, cambia los checkbox por inputs type=checkbox (inicialmente y para pruebas no le pongas lo de check=<% ...... para hacer pruebas) si te sigue sin funcionar investigaremos más
  #30 (permalink)  
Antiguo 06/05/2005, 09:48
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Estan kitados los runat="server"
Cambiado el asp:checbox por imput type checkbox
Kitado para hacer pruebas el checed="" aunq este no daba ningun rpoblema

Da un error de un parantesis si esta el codigo del onclic (icono amarillo de advertencia)
Y al pulsar el boton sigue apareciendo lo mismo
No hace anda y cuando abres el icono añarillo de abajo del browser pone lo q t ecomente antes

Mi cod keda asi
<ItemTemplate>
<!-- <asp:CheckBox id="CheckBox" runat="server" onclick="javascript:add(<%# DataBinder.Eval(Container.DataItem,'DNI') %>);" Checked='<%# Container.Dataitem ("Pagado") %>' runat="server"></asp:CheckBox>-->
<input id="micheck" type="checkbox" onclick='javascript:add(<%# DataBinder.Eval( Container.Dataitem , "DNI" ) %>);' />
</ItemTemplate>


<input onclick="var p=document.getElementbyId('text').value;javascript :__doPostBack('Guardar',p)" type="button" value="Guardar" />

He probao de esta otra forma el button aunq sigue igual q antes
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 06:47.