domingo, 24 de febrero de 2008

Customizing BoundField

This is a way to customize BoundField, to be able to support multiline textbox.


Namespace System.Web.UI.WebControls
Public Class MultilineField
Inherits BoundField

Private m_Rows As Integer

Public Property Rows() As Integer
Get
Return m_Rows
End Get
Set(ByVal value As Integer)
m_Rows = value
Me.OnFieldChanged()
End Set
End Property

Protected Overrides Function CreateField() As DataControlField
Return New MultilineField
End Function

Protected Overrides Sub InitializeDataCell(ByVal cell As DataControlFieldCell, ByVal rowState As DataControlRowState)
MyBase.InitializeDataCell(cell, rowState)
If (rowState And DataControlRowState.Insert) Or (rowState And DataControlRowState.Edit) And (Me.DataField <> "") Then
With CType(cell.Controls(0), TextBox)
.TextMode = TextBoxMode.MultiLine
.Rows = Me.Rows
End With
End If
End Sub
End Class
End Namespace

No hay comentarios: