Ir al contenido principal

Como acceder a controles anidados en un Repeater de ASP.NET

[+] Hace poco estube desarrollando una aplicación ASP.NET y me dió por utulizar el control Repeater, y la intención de todas las aplicaciones Web es que sean lo más profesionales posible, en mi caso, agregué 3 LinkButton para los comandos de ABC (Altas, Bajas, Cambios)


  1. Crear con ID= lbCrearUsuario
  2. Editar con ID = lbEditarUsuario
  3. Borrar con ID = lbBorrarUsuario

Luego de eso, vino darle funcionalidad, ya que existen algunas consideraciones a tomar en cuenta y que forman parte de la profesionalidad del trabajo, como son:

1. Si un elemento ya ha sido creado, deshabilitar el Link "Crear".
2. Si ha sido Borrado (aplica la baja lógica), entonces cambiar el texto del Link
(Borrar<->Recuperar).

Para ello, es necesario recuperar el control anidado al Item del control Template y para lograr eso, hay que
declarar una variable del tipo del control a recuperar, en el caso del ejemplo, del tipo LinkButton.

Usando como base el argumento e del manejador del evento ItemDataBound del control Repeater, esto, para que se evalue cada elemento presentado en el Repeter


Codigo:

protected void rUsuarios_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
LinkButton _lbCrear = (LinkButton)e.Item.FindControl("lbCrearUsuario");
LinkButton _lbBorrar = (LinkButton )e.Item.FindControl("lbBorrarUsuario");

_lbCrear.Enabled = false;
_lbBorrar.Text = "Borrar";
}

Con eso, ya podemos acceder a cualquier control anindado en el ItemTemplate de un Repeater.

Comentarios

Entradas populares de este blog

Impresión de informes RDLC

  [+] El principal problema que me encontré con el diseño de reportes con los informes rdlc de Visual Studio 2010, es que el control ReportViewer no cuenta con un método que envíe directamente el informe a imprimir Si bien es cierto que puedes imprimir y exportar un informe mediante los comandos del propio ReportViewer , en muchas ocasiones y por requerimientos del proceso o del cliente es necesario la impresión directa del informe. Navegando por internet y preguntando a San Google encontré una solución que resuelve el problema, de inicio la solución resulta un tanto confusa; en éste post no haré un análisis, ya que viéndolo trabajar puede uno ver su funcionamiento con claridad. Así que… entremos en materia; el código y para no saturar el post dejo el link de la solución aquí . Personalmente le he hecho unas pequeñas modificación para crear una clase y que pudiera ser reusable, aquí lo dejo 1: public class ControladorImpresion : IDisposable 2: { 3:   4: ...

Autocompletar con jquery y ASP.NET

[+] Llevo 3 semanas investigando como dar la funcionalidad de auto-completado a un cuadro de texto con jquery, probé con Servicios Web, pero al instalar la aplicación en el servidor, tronó como ejote, pedí un consejo a mi gurú (Francisco Ruiz) y me recomendó no usar más los Servicios Web y usar métodos de página, así que así fue como lo logré: 1. Cree una clase que contiene un método estático quién se encargará de consultar los datos para la funcionalidad de autocompletado. public class Listas {     public static String obtenerClientes()    {       //Para obtener el origen de datos para el autocompletado.       StringBuilder clientes = new StringBuilder ();       DataTable dtTemp = new DataTable ();       String SQL = "SELECT nombre FROM clientes" ;       using ( SqlCommand objCmd = new SqlCommand (SQL, objCnn))       {      ...

jQuery

[+] Desarrollando una Aplicación Web con la tecnología .NET descubrí que jQuery ofrece una rica variedad de características para hacer la vida más simple, bueno... la cosa es... soy novicio en esto de jQuery, y leyendo un manualín al respecto y comparandolo con el contenido me di cuenta de lo siguiente: $("a")  vs  $('a') notese el uso de " y de ' ... y nació en mi la duda respecto al correcto uso del/los símbolo(s), preguntando con mi querido amigo Francisco Ruiz, me dice que es exactamente lo mismo, y pude constatarlo yo mismo realizando un ejercicio simple y en efecto, se puede hacer uso indiscriminado de los símbolos, pienso que más bien va a gusto y preferencia de quien lo usa. Saludos...!