ASP.NET(vb.net) & DataGrid - FindControl Example scripts how to Explains DataGrid control in asp.net , The FindControl is searches the current naming container for a server control with the specified id parameter.
ShotDev Focus:
- ASP.NET(vb.net) & DataGrid - FindControl
Example
DataGridFindControl.aspx
<%@ import Namespace="System.Data" %> <%@ import Namespace="System.Data.OleDb" %> <%@ Page Language="VB" %> <script runat="server"> Dim objConn As OleDbConnection Dim objCmd As OleDbCommand Sub Page_Load(sender As Object, e As EventArgs) Dim strConnString As String strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("database/mydatabase.mdb")&";" objConn = New OleDbConnection(strConnString) objConn.Open() IF Not Page.IsPostBack() Then BindData() End IF End Sub Sub BindData() Dim strSQL As String strSQL = "SELECT * FROM customer" Dim dtReader As OleDbDataReader objCmd = New OleDbCommand(strSQL, objConn) dtReader = objCmd.ExecuteReader() '*** BindData to DataGrid ***' myDataGrid.DataSource = dtReader myDataGrid.DataBind() dtReader.Close() dtReader = Nothing End Sub Sub Page_UnLoad() objConn.Close() objConn = Nothing End Sub Private Sub myDataGrid_ItemDataBound(sender As Object, e As DataGridItemEventArgs) '*** CustomerID ***' Dim lblCustomerID As Label = CType(e.Item.FindControl("lblCustomerID"),Label) IF Not IsNothing(lblCustomerID) Then lblCustomerID.Text = e.Item.DataItem("CustomerID") End IF '*** Name ***' Dim lblName As Label = CType(e.Item.FindControl("lblName"),Label) IF Not IsNothing(lblName) Then lblName.Text = e.Item.DataItem("Name") End IF '*** Email ***' Dim lblEmail As Label = CType(e.Item.FindControl("lblEmail"),Label) IF Not IsNothing(lblEmail) Then lblEmail.Text = e.Item.DataItem("Email") End IF '*** CountryCode ***' Dim lblCountryCode As Label = CType(e.Item.FindControl("lblCountryCode"),Label) IF Not IsNothing(lblCountryCode) Then lblCountryCode.Text = e.Item.DataItem("CountryCode") End IF '*** Budget ***' Dim lblBudget As Label = CType(e.Item.FindControl("lblBudget"),Label) IF Not IsNothing(lblBudget) Then lblBudget.Text = FormatNumber(e.Item.DataItem("Budget"),2) End IF '*** Used ***' Dim lblUsed As Label = CType(e.Item.FindControl("lblUsed"),Label) IF Not IsNothing(lblUsed) Then lblUsed.Text = FormatNumber(e.Item.DataItem("Used"),2) End IF End Sub Sub Button1_Click(sender As Object, e As EventArgs) Dim chkCusID As CheckBox Dim lblID As Label Dim i As Integer lblText.Text = "" For i = 0 To myDataGrid.Items.Count - 1 chkCusID = myDataGrid.Items(i).FindControl("chkCustomerID") lblID = myDataGrid.Items(i).FindControl("lblCustomerID") IF chkCusID.Checked = True Then '*** Have lblID.Text ***' Me.lblText.Text = Me.lblText.Text & "<br>" & lblID.Text End IF Next End Sub </script> <html> <head> <title>ShotDev.Com Tutorial</title> </head> <body> <form id="form1" runat="server"> <asp:DataGrid id="myDataGrid" runat="server" AutoGenerateColumns="False" onItemDataBound="myDataGrid_ItemDataBound"> <Columns> <asp:TemplateColumn HeaderText="Select"> <ItemTemplate> <asp:CheckBox id="chkCustomerID" runat="server"></asp:CheckBox> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="CustomerID"> <ItemTemplate> <asp:Label id="lblCustomerID" runat="server"></asp:Label> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="Name"> <ItemTemplate> <asp:Label id="lblName" runat="server"></asp:Label> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="Email"> <ItemTemplate> <asp:Label id="lblEmail" runat="server"></asp:Label> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="CountryCode"> <ItemTemplate> <asp:Label id="lblCountryCode" runat="server"></asp:Label> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="Budget"> <ItemTemplate> <asp:Label id="lblBudget" runat="server"></asp:Label> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="Used"> <ItemTemplate> <asp:Label id="lblUsed" runat="server"></asp:Label> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid> <br /> <asp:Button id="Button1" onclick="Button1_Click" runat="server" Text="Submit"></asp:Button> <hr /> <asp:Label id="lblText" runat="server"></asp:Label> </form> </body> </html>
Create a asp.net file and save to path root-path/dotnet/
Run
http://localhost/dotnet/DataGridFindControl.aspx
Screenshot