I'm left with a gridview with 5 columns 3 of which have text boxes in their item cells. (The other two come directly from the SQL DS)
What I want is to be able to change a value in one of the text boxes and trap the "Text Changed" event, but unfortunately I can't seem to do that.
Below is the code in which I am attempting to use:
Public Class clsCustomGridVi ewTemplate
Implements ITemplate
Private m_colType As ListItemType
Private m_sColumnName As String
Public Sub InstantiateIn(B yVal container As System.Web.UI.C ontrol) Implements System.Web.UI.I Template.Instan tiateIn
Try
Select Case m_colType
Case ListItemType.Al ternatingItem
Case ListItemType.Ed itItem
Case ListItemType.Fo oter
Case ListItemType.He ader
Dim objLabel As New Label
With objLabel
.Text = m_sColumnName
End With
container.Contr ols.Add(objLabe l)
Case ListItemType.It em
Dim objTextBox As New TextBox
With objTextBox
.AutoPostBack = True
End With
AddHandler objTextBox.Text Changed, AddressOf Me.objTextBox_T extChanged
AddHandler objTextBox.Data Binding, AddressOf Me.objTextBox_D ataBinding
container.Contr ols.Add(objText Box)
Case ListItemType.Pa ger
Case ListItemType.Se lectedItem
Case ListItemType.Se parator
End Select
Catch ex As Exception
End Try
End Sub
Public Sub objTextBox_Data Binding(ByVal sender As Object, ByVal e As System.EventArg s)
Try
Catch ex As Exception
End Try
End Sub
Public Sub objTextBox_Text Changed(ByVal sender As Object, ByVal e As System.EventArg s)
Try
Catch ex As Exception
End Try
End Sub
Public Sub New(ByVal objType As ListItemType, ByVal sColumnName As String)
m_colType = objType
m_sColumnName = sColumnName
End Sub
End Class
----------------------------------------------------------------------------------------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArg s) Handles Me.Load
Try
Dim objController As New clsController
Dim objConfig As System.Web.Conf iguration.WebCo nfigurationMana ger
Dim sConnString As String = objConfig.Conne ctionStrings("J WTimeMockupConn ectionString"). ConnectionStrin g
Dim objSQLConn As New SSGCommonLibrar y.SSGCommonObje cts.Connections .clsSQLConnecti on(sConnString)
Dim sSQL As String
Dim objRS As System.Data.Sql Client.SqlDataR eader
sSQL = "SELECT DISTINCT EarnCode FROM TimeEntry, TimeRegister WHERE TimeEntry.TimeR egisterID = TimeRegister.Ti meRegisterID AND TimeRegister.Pe riodID = 1 AND TimeRegister.Pe rsonID = 1 AND TimeRegister.De ptID = 762"
objRS = objSQLConn.GetD ataReader(sSQL)
While objRS.Read
Dim objTemplateFiel d As New TemplateField
With objTemplateFiel d
.HeaderTemplate = New clsCustomGridVi ewTemplate(List ItemType.Header , objController.G etEarnCodeData( objRS("EarnCode ")).EarnCodeDes cription)
.ItemTemplate = New clsCustomGridVi ewTemplate(List ItemType.Item, objController.G etEarnCodeData( objRS("EarnCode ")).EarnCodeDes cription)
End With
Me.GridView1.Co lumns.Add(objTe mplateField)
End While
objRS.Close()
Catch ex As Exception
End Try
End Sub
Protected Sub GridView1_RowDa taBound(ByVal sender As Object, ByVal e As System.Web.UI.W ebControls.Grid ViewRowEventArg s) Handles GridView1.RowDa taBound
Try
If e.Row.RowType = DataControlRowT ype.DataRow Then
Dim objGV As GridView = CType(sender, GridView)
For I As Int16 = 2 To objGV.Columns.C ount
'e.Row.DataItem .Row(0) = Date
Dim objTextBox As TextBox = CType(e.Row.Con trols(I).Contro ls(0), TextBox)
objTextBox.Text = e.Row.DataItem( I - 1)
Next
End If
Catch ex As Exception
End Try
End Sub