Adding controls to the GridView control- Populating ListBox and DropDownList

Started by dhilipkumar, Nov 08, 2008, 08:04 PM

Previous topic - Next topic

dhilipkumar

The next task is to populate the ListBox and the DropDownList control. Let's make a simple server side method that will populate both the ListBox and the DropDownList.

C# Code

/ This method populates the DropDownList and the ListBox control

public DataSet PopulateControls()
{
    SqlConnection myConnection = new SqlConnection(GetConnectionString());
    SqlDataAdapter ad = new SqlDataAdapter("SELECT [Name] FROM tblPerson",
                                                            myConnection);
    DataSet ds = new DataSet();
    ad.Fill(ds, "tblPerson");
    return ds;
}

VB.NET Code

' This method populates the DropDownList and the ListBox control

Public Function PopulateControls() As DataSet
    Dim myConnection As SqlConnection = New SqlConnection(GetConnectionString())
    Dim ad As SqlDataAdapter = New SqlDataAdapter("SELECT " & _
                               "[Name] FROM tblPerson",myConnection)
    Dim ds As DataSet = New DataSet()
    ad.Fill(ds, "tblPerson")
    Return ds
End Function

Accessing different controls within the GridView control

On the Button click event, we will try to print out the values that are either entered (TextBox) or selected (DropDownList and ListBox). Let's see how this can be done.

C# Code

protected void Button1_Click(object sender, EventArgs e)
{
    // Iterates through the rows of the GridView control

    foreach (GridViewRow row in GridView1.Rows)
    {
        // Selects the text from the TextBox

        // which is inside the GridView control

        string textBoxText = _
          ((TextBox)row.FindControl("TextBox1")).Text;
        Response.Write(textBoxText);
        // Selects the text from the DropDownList

        // which is inside the GridView control

        string dropDownListText = ((DropDownList)
           row.FindControl("DropDownList1")).SelectedItem.Value;
        Response.Write(dropDownListText);
        // Selects items from the ListBox

        // which is inside the GridView control

        ListBox myListBox = (ListBox)row.FindControl("ListBox1");

        foreach(ListItem selectedItem in myListBox.Items)
        {
            // Checks if the item in the ListBox is selected or not

            if (selectedItem.Selected)
            {
                // Print the value of the item if its selected

                Response.Write(selectedItem.Value);
            }
        }
    }

VB.NET Code


Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
        ' Iterates through the rows of the GridView control

        For Each row As GridViewRow In GridView1.Rows
            ' Selects the text from the TextBox

            ' which is inside the GridView control

            Dim textBoxText As String = _
              CType(row.FindControl("TextBox1"),TextBox).Text
            Response.Write(textBoxText)
            ' Selects the text from the DropDownList

            ' which is inside the GridView control

            Dim dropDownListText As String = _
              CType(row.FindControl("DropDownList1"), _
              DropDownList).SelectedItem.Value
            Response.Write(dropDownListText)
            ' Selects items from the ListBox

            ' which is inside the GridView control

            Dim myListBox As ListBox = _
                CType(row.FindControl("ListBox1"),ListBox)
            For Each selectedItem As ListItem In myListBox.Items
                ' Checks if the item in the ListBox is selected or not

                If selectedItem.Selected Then
                    ' Print the value of the item if its selected

                    Response.Write(selectedItem.Value)
                End If
            Next
        Next
    End Sub