![]() | |
![]() |
| | Thread Tools | Search this Thread | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Consider the following code which retrieves data from a SQL Server 2005 DB table & displays it in a DataGrid: script runat="server" Sub Page_Load(ByVal obj As Object, ByVal ea As EventArgs) Dim dSet As DataSet Dim sqlConn As SqlConnection Dim sqlDapter As SqlDataAdapter sqlConn = New SqlConnection("Data Source=AD\SQLEXPRESS;Initial Catalog=MyDB;Integrated Security=True") sqlDapter = New SqlDataAdapter("SELECT * FROM Users", sqlConn) dSet = New DataSet() sqlDapter.Fill(dSet, "Users") dgUsers.DataSource = dSet.Tables("Users").DefaultView dgUsers.DataBind() End Sub Sub EditUsers(ByVal obj As Object, ByVal ea As DataGridCommandEventArgs) dgUsers.EditItemIndex = ea.Item.ItemIndex dgUsers.DataBind() Response.Write(Control0: ") Response.Write(ea.Item.Cells(0).Controls(0)) Response.Write("<br>Control1: ") Response.Write(ea.Item.Cells(0).Controls(1)) Response.Write("<br>Control2: ") Response.Write(ea.Item.Cells(0).Controls(2)) Response.Write("<br>Control Count: " & ea.Item.Cells(0).Controls.Count) Response.Write("<br>Cell Count: " & ea.Item.Cells.Count) 'Response.Write("<br>Control3: ") 'Response.Write(ea.Item.Cells(0).Controls(3)) End Sub /script form runat="server" asp ataGrid ID="dgUsers" OnEditCommand="EditUsers"AutoGenerateColumns="false" runat="server" Columns asp:TemplateColumn HeaderText="NAME" ItemTemplate asp:Label ID="lblName" runat="server"><%# Container.DataItem("FirstName") %> <%# Container.DataItem("LastName") %></asp:Label /ItemTemplate /asp:TemplateColumn asp:BoundColumn HeaderText="ADDRESS" DataField="Address"/ asp:BoundColumn HeaderText="CITY" DataField="City"/ asp:BoundColumn HeaderText="STATE" DataField="State"/ asp:BoundColumn HeaderText="ZIP" DataField="Zip"/ asp:EditCommandColumn HeaderText="EDIT" CancelText="CANCEL" EditText="EDIT" UpdateText="UPDATE"/ /Columns /asp ataGrid/form Assume that the DataGrid displays 5 records. When I click the "Edit" link corresponding to the, say, 1st record, apart from all fields (editable & non-editable) displayed in the DataGrid, the first 4 pairs of Response.Write lines within the sub "EditUsers" produce the following output: Control0: System.Web.UI.LiteralControl Control1: System.Web.UI.WebControls.Label Control2: System.Web.UI.LiteralControl Control Count: 3 Cell Count: 6 Can someone please explain me how ASP.NET computes the control count to 3? The Label control under the 1st column named "NAME" makes up 1 of the 3 controls but what/where are the other 2 Literal controls? Thanks, Arpan |
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
| |