Search code examples
c#teleriktelerik-gridradgrid

Pass values from TextBox to Telerik RadGrid


Is it possible to fill a column from a Radgrid using the value I enter from a textbox?

this is the textbox I would like to get the values from

<asp:TextBox ID="txtaddNum" TextMode="Number" Width="30px" runat="server" min="1" MaxLength="100" step="1" AutoPostBack="true"></asp:TextBox>

and this is my radgrid, the column I'll like to add the values is "Commitment"

 <telerik:RadGrid ID="grdAddGoals" AllowPaging="True" AllowSorting="true" PageSize="8"
                                runat="server" AutoGenerateColumns="False" ShowStatusBar="true" EnableLinqExpressions="false"
                                GridLines="None" CellPadding="0" HeaderStyle-Height="30" CellSpacing="0" EnableEmbeddedBaseStylesheet="false"
                                EnableEmbeddedSkins="false" Skin="BasicBlue" AllowFilteringByColumn="false" OnPreRender="grdAddGoals_PreRender"
                                OnItemCreated="grdAddGoals_ItemCreated">
                                <MasterTableView EnableNoRecordsTemplate="true">
                                    <NoRecordsTemplate>
                                        <asp:Label ID="lblNoMessage" runat="server" ForeColor="Red" Text="No Goals Detail Found"></asp:Label>
                                    </NoRecordsTemplate>
                                    <Columns>
                                        <telerik:GridTemplateColumn HeaderText="" AllowFiltering="false" HeaderStyle-Width="30px">
                                            <ItemTemplate>
                                                <span style="background: url('App_Themes/BasicBlue/images/arrow_table.png') no-repeat scroll center center transparent;
                                                    width: 30px; margin-top: 5px;">&nbsp;&nbsp;&nbsp;</span>
                                            </ItemTemplate>
                                        </telerik:GridTemplateColumn>
                                <telerik:GridTemplateColumn UniqueName="Commitment" HeaderText="Commitment" AllowFiltering="false" HeaderStyle-Width="100px">
                                <ItemTemplate>
                                <asp:TextBox ID="txtCommitment" runat="server"  Width="109px"></asp:TextBox>
                                </ItemTemplate>

                                </telerik:GridTemplateColumn>

                                <telerik:GridBoundColumn UniqueName="GoalNumber" DataField="GoalNumber" HeaderText="Goal" ItemStyle-HorizontalAlign="Center"
                                    AllowFiltering="false" HeaderStyle-Width="50px" ShowSortIcon="true" SortAscImageUrl="App_Themes/BasicBlue/images/sortorderasc_arrow.png"
                                    SortDescImageUrl="App_Themes/BasicBlue/images/sortorderdesc_arrow.png">
                                </telerik:GridBoundColumn>


                                    </Columns>
                                </MasterTableView>
                                <ClientSettings EnablePostBackOnRowClick="true">
                                    <Selecting AllowRowSelect="True" />
                                    <Scrolling AllowScroll="True" UseStaticHeaders="true" FrozenColumnsCount="2" ScrollHeight="200px"
                                        SaveScrollPosition="True" />
                                </ClientSettings>
                            </telerik:RadGrid>

I have tried everything with no luck


Solution

  • What I am understand is that when you will enter any text in "txtaddNum" textbox you want show same text in (all) 'txtCommitment' textboxs. Let me know if I am incorrect.

    Please try with the below code snippet.

    ASPX.CS

    protected void txtaddNum_TextChanged(object sender, EventArgs e)
    {
        foreach (GridDataItem dataItem in grdAddGoals.MasterTableView.Items)
        {
            TextBox txtQuantity = (TextBox)dataItem.FindControl("txtCommitment");
            txtQuantity.Text = txtaddNum.Text;
        }
    }
    

    ASPX

    <asp:TextBox ID="txtaddNum" TextMode="Number" Width="30px" runat="server" min="1" MaxLength="100" step="1" 
               AutoPostBack="true" OnTextChanged="txtaddNum_TextChanged"></asp:TextBox>
    

    Let me know if any concern.