This is a migrated thread and some comments may be shown as answers.

[Solved] RadGrid - How to Traverse ALL GridDataItems

2 Answers 263 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Bob
Top achievements
Rank 1
Bob asked on 28 Sep 2009, 02:06 PM

Hello i created a simple RadGrid, see below, with 1 column for each type of column that a RadGrid can hold and i would like to figure out how to simply traverse thru every column and put an arbitrary value in that column or boolean ect. And in particular, i'm trying to figure out how to address the GridTemplateColumns but can't seem to identify or address them at all.

In this link: http://www.telerik.com/help/aspnet/grid/grdcolumntypes.html  , the "GridTemplateColumn" example contains a G
idTemplateColumn that contains colums for "CustomerID", "CompanyName", "ContactName", "ContactTitle" ect and i'm really trying to duplicate this same example scenario and then traverse thru all columns in this GridTemplateColumn and put an arbitary value in each of these columns, just so i can figure out how address all column types.

And in my example below i would be trying to populate the GridTemplateColumns, TextBox1-4 and put any text value in them.

Thanks for any  code examples you may be able to provide!
rc
 

<%

@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication3._Default" %>

<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

        <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False"

            GridLines="None" ondatabinding="RadGrid1_DataBinding"

            ondatabound="RadGrid1_DataBound"

        ondeletecommand="RadGrid1_DeleteCommand"

        onneeddatasource="RadGrid1_NeedDataSource" style="margin-top: 0px">

<MasterTableView>

<RowIndicatorColumn>

<HeaderStyle Width="20px"></HeaderStyle>

</RowIndicatorColumn>

<ExpandCollapseColumn>

<HeaderStyle Width="20px"></HeaderStyle>

</ExpandCollapseColumn>

    <Columns>

        <telerik:GridBoundColumn UniqueName="column1" HeaderText="myCol1">

        </telerik:GridBoundColumn>

        <telerik:GridCheckBoxColumn HeaderText="CheckBox" UniqueName="column2">

        </telerik:GridCheckBoxColumn>

        <telerik:GridDropDownColumn HeaderText="DropDown" UniqueName="column3">

        </telerik:GridDropDownColumn>

        <telerik:GridTemplateColumn HeaderText="Template1" UniqueName="TemplateColumn">

            <EditItemTemplate>

                <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>

            </EditItemTemplate>

            <FooterTemplate>

                <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>

            </FooterTemplate>

            <HeaderTemplate>

                <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>

            </HeaderTemplate>

            <ItemTemplate>

                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

            </ItemTemplate>

        </telerik:GridTemplateColumn>

        <telerik:GridEditCommandColumn HeaderText="EditCommand">

        </telerik:GridEditCommandColumn>

        <telerik:GridButtonColumn HeaderText="ButtonColumn" UniqueName="column">

        </telerik:GridButtonColumn>

    </Columns>

<EditFormSettings>

<EditColumn UniqueName="EditCommandColumn1"></EditColumn>

</EditFormSettings>

</MasterTableView>

        </telerik:RadGrid>

    <telerik:RadScriptManager ID="RadScriptManager1" runat="server">

    </telerik:RadScriptManager>

    <div>

    </div>

    </form>

</body>

</html>

 

protected void RadGrid1_DataBound(object sender, EventArgs e)

{

    foreach (GridDataItem item in RadGrid1.Items)

    {

        (item["TemplateColumn"].Controls["Textbox1"] as TextBox).Text = "bbbbb";

   }

}

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication3._Default" %>

<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

        <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False"

            GridLines="None" ondatabinding="RadGrid1_DataBinding"

            ondatabound="RadGrid1_DataBound"

        ondeletecommand="RadGrid1_DeleteCommand"

        onneeddatasource="RadGrid1_NeedDataSource" style="margin-top: 0px">

<MasterTableView>

<RowIndicatorColumn>

<HeaderStyle Width="20px"></HeaderStyle>

</RowIndicatorColumn>

 

<ExpandCollapseColumn>

<HeaderStyle Width="20px"></HeaderStyle>

</ExpandCollapseColumn>

    <Columns>

        <telerik:GridBoundColumn UniqueName="column1" HeaderText="myCol1">

        </telerik:GridBoundColumn>

        <telerik:GridCheckBoxColumn HeaderText="CheckBox" UniqueName="column2">

        </telerik:GridCheckBoxColumn>

        <telerik:GridDropDownColumn HeaderText="DropDown" UniqueName="column3">

        </telerik:GridDropDownColumn>

        <telerik:GridTemplateColumn HeaderText="Template1" UniqueName="TemplateColumn">

            <EditItemTemplate>

                <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>

            </EditItemTemplate>

            <FooterTemplate>

                <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>

            </FooterTemplate>

            <HeaderTemplate>

                <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>

            </HeaderTemplate>

            <ItemTemplate>

                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

            </ItemTemplate>

        </telerik:GridTemplateColumn>

        <telerik:GridEditCommandColumn HeaderText="EditCommand">

        </telerik:GridEditCommandColumn>

        <telerik:GridButtonColumn HeaderText="ButtonColumn" UniqueName="column">

        </telerik:GridButtonColumn>

    </Columns>

 

<EditFormSettings>

<EditColumn UniqueName="EditCommandColumn1"></EditColumn>

</EditFormSettings>

</MasterTableView>

        </telerik:RadGrid>

    <telerik:RadScriptManager ID="RadScriptManager1" runat="server">

    </telerik:RadScriptManager>

    <div>

    </div>

    </form>

</body>

</html>

 

2 Answers, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 29 Sep 2009, 08:23 AM
Hello rc,

To access controls in the ItemTemplate of a GridTemplateColumn, you need to use the FindControl method as shown below:
c#:
      foreach (GridDataItem item in RadGrid1.Items) 
        { 
            (item.FindControl("Textbox1"as TextBox).Text = "bbbbb"
 
        } 

Hope tis helps...
Princy.
0
Bob
Top achievements
Rank 1
answered on 29 Sep 2009, 11:13 AM
Thanks Princy will try that out, appreciate your help!

Have a great week Princy!

rc
Tags
Grid
Asked by
Bob
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
Bob
Top achievements
Rank 1
Share this question
or