Ir al contenido principal

Accediendo desde Webpart a los controles

Webparts es la propuesta Microsoft de bea-Portal, para hacer sitios.
bueno la mayor gracia de Webpart es que te da la funcionalidad de arrastrar los paneles por la pagina, y estas son permanentes en el tiempo. como el tiempo es poco y estoy por irme de vacaciones(yupi) en otra ocasion hablere mas del concepto, beneficios y contras de webparts.

Nacio de saber como podemos hacer para que webparts cambie un estado en un userControl o control de usuario para asi poder hacer una accion, dependiendo del valor.


primero en un WebpartsZone, arrastramos desde la parte derecha (solucion Explorer) nuestro UserControl (ojo que hablo de las que tienen extension ACSX).

a nuestro control le definimos un atributo y un property, para que webparts puedas modificar el atributo.

Este es el codigo en el aspx

<%@ Control Language="VB" AutoEventWireup="false" CodeFile="WebUserControl.ascx.vb" Inherits="WebUserControl" %>
<table>
<tr><td colspan="2">
<asp:Label ID="TituloLbl" runat="server" Text="Titulo"></asp:Label></td></tr>
<tr>
<td>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</td>
<td>
<asp:Button ID="Button1" runat="server" Text="Button" />
</td>
</tr>
</table>


Y en nuestro asp.vb tenemos lo siguiente:
Partial Class WebUserControl
Inherits System.Web.UI.UserControl
Private _Titulo As String = String.Empty
<WebBrowsable()> _
<Personalizable()> _
Public Property tutulo() As String
Get
Return Me._Titulo
End Get
Set(ByVal value As String)
Me._Titulo = value
Me.TituloLbl.Text = value

End Set
End Property
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
End Class


esta listo el primer paso. de esta forma webparts podra acceder al property de nuestro userControl, ojo que el WebBrowsable y Personalizable son super importantes si no estan webparts, no sera capaz de leer el property.

Si se fijas en SET, no solo cambia el valor de _Titulo, si no que tambien realiza la accion de cambiar el texto de un label.




Segundo paso

Tenemos que agregar un editorZone y dentro un PropertyGridEditorPart, este es el que es capaz de leer las propiedades de los controles y modificarlas.

A mi me quedo un codigo de este estilo.

<asp:EditorZone ID="EditorZone1" runat="server">
<ZoneTemplate>
<asp:PropertyGridEditorPart ID="PropertyGridEditorPart1" runat="server" />
</ZoneTemplate>
</asp:EditorZone>


Entonces cuando a webparts le digamos que se muestre en modo de edicion, nos mostrar un panel, donde podremos cambiar todos los varoles que queramos.

Importante
PropertyGridEditorPart solo lee property no lee atributos privados, solo property, ademas estos deben ser publicos.

Comentarios

Entradas populares de este blog

buscar columnas en todas las tablas Sql Server

me vi en la necesidad de buscar en todas las tablas de una base de datos por un comodin ya que no conocia bien el modelo de la base de datos.
aqui les dejo el sql.
SELECT sysobjects.name AS table_name, syscolumns.name AS column_name, systypes.name AS datatype, syscolumns.LENGTH AS LENGTH FROM sysobjects INNER JOIN syscolumns ON sysobjects.id = syscolumns.id INNER JOIN systypes ON syscolumns.xtype = systypes.xtype WHERE (sysobjects.xtype = 'U') and (UPPER(syscolumns.name) like upper('%myFieldName%')) ORDER BY sysobjects.name, syscolumns.colid


Solo tienen que cambiar donde dice "myFieldName"por el nombre de la columna que desean buscar.

--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

"is not null" o "<> Null" en Sql Server

Trabajando con NHinbernate. mapeando unas clases, guardaba unos datos y hacia esta consulta para ver si estaba bien:


select * from table where campo <> NULL;


pero no me arrojaba los datos que queria y luego darle y darle vueltas hice esta consulta.

select * from table where campo is not NULL;


y ahi me di cuenta que el mapeo de Hibernet, y los cambios que habia hecho estaban bien. perdi toda una mañana de trabajo por esto :(.


Asi no es lo mismo "is not null" o "<> Null", por lo menos en Sql Server

Entonces ahora cada vez que quiera preguntar si un capo no es Null, voy a preguntar por "IS NOT NULL".

En caso de que quiera saber si un campo es null "IS NULL".




--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

Aplicación y Aplicativo

Cada dia es mas comun escuchar de aplicativo para referirse a un programa informatico,  esto puede sonar bastante cool, pero la verdad es que no lo es. El termino "aplicativo"  no existe en informatica, la palabra correcta para referirse a un programa informatica es "Aplicacion".

Las definiciones segun la real academedia española son;


Aplicación (informatica): Programa preparado para una utilización específica, como el pago de nóminas, formación de un banco de términos léxicos, etc.Aplicativo: Que sirve para aplicar algo.
y ustedes van a seguir usando aplicativo en vez de aplicación
Links:
http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=aplicativo http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=aplicaci%F3n


--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com