Vinculação de dados com WEBCONTROL
Hoje iremos tratar sobre vinculação de dados, ou seja, databound de controles com asp.net...
Vinculação de dados com WEBCONTROL
Hoje iremos tratar sobre vinculação de dados, ou seja, databound de controles com asp.net, iremos construir um controle que se vincule a uma fonte de dados, será explicado passo a passo os códigos para que seja fácil o entendimento.
Primeiramente criei um novo projeto do tipo Web Control Library dê o nome que quiser e escolha a linguagem Visual Basic.
Ficando assim:
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Text
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Collections
<DefaultProperty("Text"), ToolboxData("<:WebCustomControl1 runat=server></:WebCustomControl1>")> _
Public Class WebCustomControl1
Inherits WebControl
' Primeiramente iremos declarar duas variáveis
Private _html As New StringBuilder()
Private _dataSource As IEnumerable
'Em seguida criaremos uma propriedade do tipo IEnumerable, esta interface expõe uma coleção de um tipo especificado.
Public Property fonteDados() As IEnumerable
Get
Return _fonte
End Get
Set(ByVal value As IEnumerable)
_fonte = value
End Set
End Property
'Em seguinda criaremos nossa lista de controles, e renderizamos da maneira que acharmos necessário.
'Neste caso foi criada uma lista html.
Private Sub criaControle()
Dim dataSource As IEnumerable = Nothing
Try
dataSource = Me._fonte
Catch
End Try
If Not (dataSource Is Nothing) Then
_html.Append("<ul>")
Dim dataObject As Object
For Each dataObject In dataSource
_html.Append("<li>")
_html.Append(dataObject)
_html.Append("</li>")
Next dataObject
_html.Append("</ul>")
End If
End Sub
'Agora sobrescrevemos o método DataBind simplesmente chamando nossso método criaControle.
Public Overrides Sub DataBind()
MyBase.OnDataBinding(EventArgs.Empty)
criaControle();
End Sub
'Por fim renderizamos nosso controle.
Protected Overrides Sub Render(ByVal output As HtmlTextWriter)
output.Write(_html)
End Sub
End Class
Dê um build no projeto criado.
Crie um novo WebSite, adicione o WebControl criado na toolbox e no evento page_load adicione o seguinte código.
ArrayList ar = new ArrayList();
ar.Add("1º Item");
ar.Add("2º Item");
WebCustomControl1_1.fonteDados = ar;
WebCustomControl1_1.DataBind();
O resultado será esse:
É isso pessoal até a próxima.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo