Tuesday, July 22, 2014

RadioButtonList : Bind RadioButtonList To A List Of Objects

The RadioButtonList displays a collection of radio buttons on a web page. There can only be one selection in a group of choices at a time. In this tutorial we will create a RadioButtonList and then bind it to the Categories table of the Northwind database using a DataTable.

To create a RadioButtonList control do the following:

1.  Select the "RadioButtonList" control under the "Standard" control in the "Toolbox" pane on the left.
Drag RadioButtonList from the Toolbox
2.  Drag the RadioButtonList control to a design surface

RadioButtonList Choose Data Source
3.  In the source code of the .aspx page make sure "AutoPostBack" is set to true, the source code should look like this

<asp:RadioButtonList ID="RadioButtonList1" runat="server" 
AutoPostBack="true">
</asp:RadioButtonList>

4. Create a connection string in the Web.Config file
  <connectionStrings>
<add name="NorthwindConnectionString" connectionString="Data Source=(local);
Initial Catalog=Northwind;Integrated Security=True"
providerName="System.Data.SqlClient"/>
</connectionStrings>
5. Create a new folder in your project call "BusinessObjects" then add a .cs file call "Category.cs"
Business objects RadioButtonList
6. In the "Category.cs" file type in the following code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace BusinessObjects
{
public class Category
{
private int _categoryID;
private string _categoryName;

public Category(int Id, string Name)
{
this._categoryID = Id;
this._categoryName = Name;
}


public int CategoryID
{
get { return this._categoryID; }
set { this._categoryID = value; }
}

public string CategoryName
{
get { return this._categoryName; }
set { this._categoryName = value; }
}

}
}

7.  In the code behind page(.cs) page of the .aspx page, type in the following lines at the top to use the following libraries
using System.Web.Configuration;
using System.Data.SqlClient;
using System.Data;
using BusinessObjects;
8. Create a new method call BindCategoriesRadioButtonListObjects() that returns void
  

protected void BindCategoriesRadioButtonListObjects()
{
DataTable dtCategories = new DataTable();
string connectString = WebConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString;
List categories = new List();

using (SqlConnection conn = new SqlConnection(connectString))
{
SqlCommand cmd = new SqlCommand("SELECT CategoryID,CategoryName FROM Categories", conn);
conn.Open();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dtCategories);


foreach (DataRow row in dtCategories.Rows)
{
categories.Add(new Category(Convert.ToInt32(row["CategoryID"].ToString()), row["CategoryName"].ToString()));
}

//used to set the RadioButtonList1.DataSource to categories list of objects
RadioButtonList1.DataSource = categories;

RadioButtonList1.DataTextField = "CategoryName";

RadioButtonList1.DataValueField = "CategoryID";
RadioButtonList1.DataBind();

}


}

No comments:

Post a Comment