Bind Dropdown, CheckboxList, RadiobuttonList, GridView and Repeater using Single Function Call

Default.aspx

  1. <form id="form1" runat="server">  
  2.     <div style="border: solid 1px #ccc; padding: 2px 5px;"> Dropdown <br />  
  3.         <asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList>  
  4.     </div>  
  5.     <div style="border: solid 1px #ccc; padding: 2px 5px;"> Checkbox <br />  
  6.         <asp:CheckBoxList ID="CheckBoxList1" RepeatColumns="5" runat="server"></asp:CheckBoxList>  
  7.     </div>  
  8.     <div style="border: solid 1px #ccc; padding: 2px 5px;"> GridView <br />  
  9.         <asp:GridView ID="GridView1" runat="server"></asp:GridView>  
  10.     </div>  
  11.     <div style="border: solid 1px #ccc; padding: 2px 5px;"> Repeater <br />  
  12.         <asp:Repeater ID="Repeater1" runat="server">  
  13.             <ItemTemplate> <span style="border: solid 1px #ccc; padding: 2px 5px;">   
  14. <%#Eval("menu_name") %>   
  15. </span> </ItemTemplate>  
  16.         </asp:Repeater>  
  17.     </div>  
  18.     <div style="border: solid 1px #ccc; padding: 2px 5px;"> Radiobutton <br />  
  19.         <asp:RadioButtonList ID="RadioButtonList1" runat="server"></asp:RadioButtonList>  
  20.     </div>  
  21. </form>  
Default.aspx.cs
  1. protected void Page_Load(object sender, EventArgs e)  
  2. {  
  3.     bindControl.binder(DropDownList1, "select menu_id as value, menu_name as text from menuitem");  
  4.     bindControl.binder(CheckBoxList1, "select menu_id as value, menu_name as text from menuitem");  
  5.     bindControl.binder(RadioButtonList1, "select menu_id as value, menu_name as text from menuitem");  
  6.     bindControl.binder(GridView1, "select menu_name from menuitem");  
  7.     bindControl.binder(Repeater1, "select menu_name from menuitem");  
  8. }  
bindControl.cs
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5. using System.Web;  
  6. using System.Web.UI.WebControls;  
  7. using System.Web.UI;  
  8. using System.Data;  
  9. using System.Collections.Specialized;  
  10. using System.Data;  
  11. using System.Data.SqlClient;  
  12. namespace ControlBinder  
  13. {  
  14.     public static class bindControl  
  15.     {  
  16.         public static void binder(Object c, string sql)  
  17.         {  
  18.             SqlConnection sqlCon = new SqlConnection("Data Source=.; Initial Catalog=master; User ID=sa; Password=pass");  
  19.             SqlCommand sqlCmd = new SqlCommand(sql, sqlCon);  
  20.             SqlDataAdapter adp = new SqlDataAdapter(sqlCmd);  
  21.             DataSet ds = new DataSet();  
  22.             adp.Fill(ds);  
  23.             Control item = (Control) c;  
  24.             if (item is DropDownList)  
  25.             {  
  26.                 DropDownList ddl1 = (DropDownList) item;  
  27.                 ddl1.Items.Clear();  
  28.                 for (int i = 0; i < ds.Tables[0].Rows.Count; i++)  
  29.                 {  
  30.                     ddl1.Items.Insert(i, new ListItem(ds.Tables[0].Rows[i]["text"].ToString(), ds.Tables[0].Rows[i]["value"].ToString()));  
  31.                 }  
  32.                 ddl1.Items.Insert(0, new ListItem("0""--Select--"));  
  33.             }  
  34.             if (item is GridView)  
  35.             {  
  36.                 ((GridView) item).DataSource = ds;  
  37.                 ((GridView) item).DataBind();  
  38.             }  
  39.             if (item is CheckBoxList)  
  40.             {  
  41.                 CheckBoxList ck = (CheckBoxList) item;  
  42.                 for (int i = 0; i < ds.Tables[0].Rows.Count; i++)  
  43.                 {  
  44.                     ck.Items.Insert(i, new ListItem(ds.Tables[0].Rows[i]["text"].ToString(), ds.Tables[0].Rows[i]["value"].ToString()));  
  45.                 }  
  46.             }  
  47.             if (item is RadioButtonList)  
  48.             {  
  49.                 RadioButtonList ck = (RadioButtonList) item;  
  50.                 for (int i = 0; i < ds.Tables[0].Rows.Count; i++)  
  51.                 {  
  52.                     ck.Items.Insert(i, new ListItem(ds.Tables[0].Rows[i]["text"].ToString(), ds.Tables[0].Rows[i]["value"].ToString()));  
  53.                 }  
  54.             }  
  55.             if (item is Repeater)  
  56.             {  
  57.                 ((Repeater) item).DataSource = ds;  
  58.                 ((Repeater) item).DataBind();  
  59.             }  
  60.             if (item is DataList)  
  61.             {  
  62.                 ((DataList) item).DataSource = ds;  
  63.                 ((DataList) item).DataBind();  
  64.             }  
  65.         }  
  66.     }  
  67. }