Occurs when the server control binds to a data source.
Assembly: System.Web (in System.Web.dll)
Syntax
Public Event DataBinding As [%$TOPIC/6h0fs4kf_en-us_VS_110_1_0_0_0_0%]
public event [%$TOPIC/6h0fs4kf_en-us_VS_110_1_0_1_0_0%] DataBinding
public:
event [%$TOPIC/6h0fs4kf_en-us_VS_110_1_0_2_0_0%]^ DataBinding {
void add ([%$TOPIC/6h0fs4kf_en-us_VS_110_1_0_2_0_1%]^ value);
void remove ([%$TOPIC/6h0fs4kf_en-us_VS_110_1_0_2_0_2%]^ value);
}
member DataBinding : IEvent<[%$TOPIC/6h0fs4kf_en-us_VS_110_1_0_3_0_0%],
[%$TOPIC/6h0fs4kf_en-us_VS_110_1_0_3_0_1%]>
Examples
' Create a class that implements the ITemplate interface.
' This class overrides the InstantiateIn method to always
' place templates in a Literal object. It also creates a
' custom BindData method that is used as the event handler
' associated with the Literal object's DataBinding event.
Imports System
Imports System.Web
Imports System.Data
Imports System.Web.UI
Imports System.Web.UI.WebControls
Namespace UsingItemTemplatesVB
Public Class GenericItem
Implements ITemplate
Private column As String
Public Sub New(column As String)
Me.column = column
End Sub 'New
' Override the ITemplate.InstantiateIn method to ensure
' that the templates are created in a Literal control and
' that the Literal object's DataBinding event is associated
' with the BindData method.
Public Sub InstantiateIn(container As Control) Implements ITemplate.InstantiateIn
Dim l As New Literal()
AddHandler l.DataBinding, AddressOf Me.BindData
container.Controls.Add(l)
End Sub 'InstantiateIn
' Create a public method that will handle the
' DataBinding event called in the InstantiateIn method.
Public Sub BindData(sender As Object, e As EventArgs)
Dim l As Literal = CType(sender, Literal)
Dim container As DataGridItem = CType(l.NamingContainer, DataGridItem)
l.Text = CType(container.DataItem, DataRowView)(column).ToString()
End Sub 'BindData
End Class 'GenericItem
End Namespace 'UsingItemTemplatesVB
/* Create a class that implements the ITemplate interface.
This class overrides the InstantiateIn method to always
place templates in a Literal object. It also creates a
custom BindData method that is used as the event handler
associated with the Literal object's DataBinding event.
*/
using System;
using System.Web;
using System.Data;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace UsingItemTemplates
{
public class GenericItem : ITemplate
{
private string column;
public GenericItem(string column)
{
this.column = column;
}
// Override the ITemplate.InstantiateIn method to ensure
// that the templates are created in a Literal control and
// that the Literal object's DataBinding event is associated
// with the BindData method.
public void InstantiateIn(Control container)
{
Literal l = new Literal();
l.DataBinding += new EventHandler(this.BindData);
container.Controls.Add(l);
}
// Create a public method that will handle the
// DataBinding event called in the InstantiateIn method.
public void BindData(object sender, EventArgs e)
{
Literal l = (Literal) sender;
DataGridItem container = (DataGridItem) l.NamingContainer;
l.Text = ((DataRowView) container.DataItem)[column].ToString();
}
}
}
Platforms
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
See Also