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

Borrar labels de un datalist

Estas en el tema de Borrar labels de un datalist en el foro de .NET en Foros del Web. Hola: Tengo un datalist el cual contiene diversas labels c/u conteniendo datos de una tabla. Resulta que deseo a través de un botón ubicado en ...
  #1 (permalink)  
Antiguo 12/01/2005, 16:08
Avatar de see07  
Fecha de Ingreso: abril-2004
Ubicación: México, D.F.
Mensajes: 112
Antigüedad: 20 años
Puntos: 0
Borrar labels de un datalist

Hola:
Tengo un datalist el cual contiene diversas labels c/u conteniendo datos de una tabla.
Resulta que deseo a través de un botón ubicado en la forma, borrar los datos contenidos en las labels del datalist.
Sabe alguien de una idea de como hacerle (en C# obviamente o quizás usando javascript).
Agradeceré su ayuda.
A.L.
__________________
El hombre que tiene amigos ha de mostrarse amigo....
  #2 (permalink)  
Antiguo 13/01/2005, 09:19
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
Podrías hacer ésto:

Cita:
private void Button1_Click(object sender, System.EventArgs e)
{
for (int i = 0;i <= DataList1.Items.Count -1;i++)
{
((Label)DataList1.Items[i].FindControl("ID_Label")).Text = "";

}
}
Espero que te sirva..

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 13/01/2005, 10:02
Avatar de see07  
Fecha de Ingreso: abril-2004
Ubicación: México, D.F.
Mensajes: 112
Antigüedad: 20 años
Puntos: 0
Muchísimas gracias Rootk, adapté tu código y finalmente ha funcionado.
__________________
El hombre que tiene amigos ha de mostrarse amigo....
  #4 (permalink)  
Antiguo 17/01/2005, 11:13
 
Fecha de Ingreso: octubre-2004
Mensajes: 27
Antigüedad: 19 años, 6 meses
Puntos: 0
saben alguna forma de hacer eso pero evitando el postback????
  #5 (permalink)  
Antiguo 17/01/2005, 15:15
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
Lo podrías hacer con javascript, a fin de cuentas un label es un span.

ejemplo.

var txt
txt = document.getElementById('lblDataList')
txt.innerText = ''

Esa sería mas o menos la idea, tu tendrías que hacer un ciclo para hacer el barrido de tus span.

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #6 (permalink)  
Antiguo 17/01/2005, 18:09
Avatar de see07  
Fecha de Ingreso: abril-2004
Ubicación: México, D.F.
Mensajes: 112
Antigüedad: 20 años
Puntos: 0
La idea es buena Rootk, ya lo había yo intentado antes pero no funciona.
El código que usé en javascript es:

var para1 = document.getElementById('Label1');
{
para1.lastChild.nodeValue = " ";
}
Pero no borra Label1.
Seguramente algo está faltando allí.
Saludos
A.L.
__________________
El hombre que tiene amigos ha de mostrarse amigo....
  #7 (permalink)  
Antiguo 18/01/2005, 09:08
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
Recuerda revisar el code que se genera en el cliente para que veas el id que genera la label.

Por ejemplo si tienes un datalist así:

Cita:
<asp:DataList id="DataList1" runat="server">
<ItemTemplate>
<asp:Label ID=lblTest Runat=server Text='<%# DataBinder.Eval(Container.DataItem,"CompanyName") %>'>
</asp:Label>
</ItemTemplate>
</asp:DataList>
Cuando hagas el binding el código que se genera el cliente es éste:

Cita:
<table id="DataList1" cellspacing="0" border="0" style="border-collapse:collapse;">
<tr>
<td>
<span id="DataList1__ctl0_lblTest">Algun Texto</span>
</td>
</tr><tr>
<td>
...
...
Que como te comentaba una label es un span en el cliente y por lo tanto despues podrías recorrelo para limpiar el span.

Por ejemplo.., en tu codebehind declaras una variable de tipo protected para mandarle el número de elementos que hay en el datalist.

Ejemplo:

Cita:
protected int iItems;

private void Page_Load(object sender, System.EventArgs e)
{
...
...
iItems = DataList1.Items.Count;

}
Y en tu html lo recoges para hacer el barrido

Cita:
<script language=javascript>
function deleteItems()
{
var sCtrl = 'DataList1__ctl';
var lbl;
var items = <%= iItems %>
for (i=0;i<=items-1;i++)
{
lbl = document.getElementById(sCtrl + i + '_lblTest')
lbl.innerText = '';
}

}
</script>
Y listo, creas un boton para mandar a llamar la funcion javascript y haga el limpiado de las etiquetas.

Espero haber sido claro.

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
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 20:04.