DYNAMICALLY BIND RADGRID USING DATATABLE

In this article, We have explained regarding Dynamically Bind RadGrid in ASP.NET using DataTable. RadGrid is a Telerik control. These are the following Codes...

Write this code in Design Page:

<telerik:RadGrid ID="RadGrid1" runat="server" Width="70%" ShowFooter="True" MasterTableView-NoDetailRecordsText="" MasterTableView-NoMasterRecordsText="" AutoGenerateColumns="false" ShowHeader="False" OnItemCommand="RadGrid1_ItemCommand">
                                    <MasterTableView NoDetailRecordsText="" NoMasterRecordsText="" >
                  
                                        <Columns>
                                            <telerik:GridTemplateColumn Display="false">
                                                <ItemTemplate>
                                                    <telerik:RadLabel ID="lblid" runat="server" Text='<%# Bind("SkillLevel_Id") %>'></telerik:RadLabel>
                                                </ItemTemplate>
                                              
                                            </telerik:GridTemplateColumn>
                                            <telerik:GridTemplateColumn>
                                                <ItemTemplate>
                                                    <telerik:RadLabel ID="lbllevel1" runat="server" Text='<%# Bind("Skill_LevelName") %>'></telerik:RadLabel>
                                                </ItemTemplate>
                                                <FooterTemplate>
                                                    <telerik:RadTextBox ID="txtlevel2" runat="server" MaxLength="10"></telerik:RadTextBox>
                                                </FooterTemplate>
                                            </telerik:GridTemplateColumn>
                                            <telerik:GridTemplateColumn>
                                                <ItemTemplate>
                                                    <telerik:RadButton ID="btnclose" runat="server" CommandName="cancel" Text="X" CausesValidation="false"></telerik:RadButton>
                                                </ItemTemplate>
                                                <FooterTemplate>
                                                    <telerik:RadButton ID="btnadd" CommandName="add_level" runat="server" Text="+" CausesValidation="false" ValidationGroup="level"></telerik:RadButton>
                                                </FooterTemplate>
                                            </telerik:GridTemplateColumn>
                                        </Columns>
                                    </MasterTableView>
                                </telerik:RadGrid>

Write this Below code in Code-Behind Page:

protected void Page_Load(object sender, EventArgs e)
        {
 if (!IsPostBack)
            {
temptable();
}
}
private void temptable()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("SkillLevel_Id", typeof(string));
            dt.Columns.Add("Skill_LevelName", typeof(string));
            Session["dt"] = dt;
            BindGrid();
        }
protected void BindGrid()
        {
            RadGrid1.DataSource = Session["dt"] as DataTable;
            RadGrid1.DataBind();
        }
protected void RadGrid1_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)         {             if (e.CommandName == "add_level")             {                               GridFooterItem footerItem = (GridFooterItem)e.Item;                 if (((RadTextBox)footerItem.FindControl("txtlevel2")).Text != "")                 {                     DataTable dt = (Session["dt"]) as DataTable;                     DataRow dr = dt.NewRow();                     dr["SkillLevel_Id"] = "";                     dr["Skill_LevelName"] = ((RadTextBox)footerItem.FindControl("txtlevel2")).Text;                     dt.Rows.Add(dr);                     Session["dt"] = dt;                     BindGrid();                                   }                 else                 {                                   }                       }             if (e.CommandName == "cancel")             {                 ViewState["dt"]=Session["dt"];                 DataTable dt = (ViewState["dt"]) as DataTable;                 int i = e.Item.ItemIndex;                 dt.Rows.RemoveAt(i);                 Session["dt"] = dt;                 BindGrid();                           }
        }

Post a Comment

0 Comments