jueves, mayo 18, 2006

Cómo poner un web form en modo lectura

Para poner un formulario web como solo lectura. Lo que necesitas hacer es recorrer lo Controles del formulario y cambiar la propiedad de enabled a false de aquellos controles que quieres que sean de solo lectura.

Por ejemplo en el código de abajo recorro todos los controles dentro del formulario de la página actual buscando los que son textbox. Y en caso de ser así pongo su propiedad enabled en false.


For Each ctrl As Object In Me.Form.Controls
If TypeOf ctrl Is UI.WebControls.TextBox Then
ctrl.enabled = False
Next


Espero te sea de utilidad



MENSAJE ORIGINAL
"erantzun" wrote:
> Hola,
>
> Me gustaría poner un web form en modo lectura por código, sin tener que
> recorrer todos los controles y actualizar la propiedad Enabled a False. ¿Es
> posible?
> Gracias.

REFERENCIA AL GRUPO DE NOTICIAS
http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.es.dotnet.aspnet&mid=85d579a6-2204-46bd-ab49-fbdaa62a6a8c&sloc=en-us

4 Comments:

At 2:24 AM, Anónimo said...

Quiero limpiar una serie de textbox pero solo limpia los que estan dentro del formulario.

Pero cuando meto un textbox en un GROUPBOX o en un TABCONTROL no los puede limpiar cual es la razon ya intente de muchas formas y no puedo solucionarlo.

Si me puedes ayudar te lo agradesere..........

 
At 2:25 AM, Anónimo said...

LIMPIAR TEXTBOX

 
At 5:43 PM, Raúl Guerrero said...

El concepto es mas o menos sencillo.

Cuando tu recorres los controles de un formulario, recorres loc controles directamente asociados a ese objeto. Que en este caso son los campos de texto directamente agregados al formulario, asi como el campo groupbox que me comentas.

Por lo tanto al encontrar un control que contenga otros controles deberas hacer el mismo recorrido que realizaste en la capa del formulario.

Un ejemplo al respecto seria el siguente:
private void Form1_Load(object sender, EventArgs e)
{
LimpiaControles(this);
}

private void LimpiaControles(Control controlRaiz)
{
foreach (Control c in controlRaiz.Controls)
{
if (c is TextBox)
{
c.Text = "";
}
else if (c.HasChildren)
{
LimpiaControles(c);
}
}
}

 
At 3:22 PM, Anónimo said...

como puedo meter una foto en un data grid es para un control de acceso y tengo que mostrar su fotografia y los datos que estan almacenados en una base de datos como le hago.

visua basic.net

si me solucionan mi problema se los agradecere.

esta pagina es de lo maximo gente como ustedes que piensa en gente como nos otros y ademas es libre me parece de lo maximo y mil gracias al que se le ocurrio esta idea.

 

Publicar un comentario en la entrada

<< Home