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

[Solved] Radtextbox (onBlur event) in GridDataItem passing values and finding values question...

1 Answer 244 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Wired_Nerve
Top achievements
Rank 2
Wired_Nerve asked on 23 Apr 2013, 09:15 PM
I have a radgrid.
The dataitem row has several controls but two in particular have values I need for a javascript ajax call I need to make.
The user story is this...
A user sees a series of rows with a CampusID  - a simple label  and a copiesNeeded - a radnumerictextbox.
The ROW is NOT in edit mode, nor will it be...
The user clicks in the radtextbox and enters a value.
When they leave the textbox an onBlur  event is fired.

Now in a client side javascript function I want to get the value they have entered in the radnumerictextbox and determine the value of the CampusID from the CampusNameLabel-- unless of course there is an easier means to do this clientside...
For example:

//================================================
//===   Save the value entered in the grid for copies needed.
//================================================
function saveCopiesNeeded(src, args) {
// Get the row the user had made changes in so I can get the campusID
// Get the radNumericTextbox so I can get the value the user typed
                 
}



<telerik:GridTemplateColumn FilterControlAltText="Filter column" UniqueName="CampusID"
                       HeaderText="Campus ID" SortExpression="CampusID">
                       <ItemTemplate>
                           <asp:Label ID="CampusIDLabel" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"CampusID") %>'></asp:Label
                       </ItemTemplate>
                       <HeaderStyle HorizontalAlign="Center" />
                       <ItemStyle HorizontalAlign="Center" Wrap="False" VerticalAlign="Middle" />
                   </telerik:GridTemplateColumn>




<
telerik:GridTemplateColumn FilterControlAltText="Filter TemplateColumn column" UniqueName="TemplateColumn">
                    <ItemTemplate>
                        <telerik:RadNumericTextBox ID="CopiesToOrderRadNumericTextbox" runat="server" Culture="en-US" DbValueFactor="1" LabelWidth="64px" MinValue="0" Width="70px">
                            <NumberFormat DecimalDigits="0" ZeroPattern="n" />
                            <ClientEvents OnBlur="saveCopiesNeeded"></ClientEvents>
                        </telerik:RadNumericTextBox>
                    </ItemTemplate>
                </telerik:GridTemplateColumn>

1 Answer, 1 is accepted

Sort by
0
Wired_Nerve
Top achievements
Rank 2
answered on 23 Apr 2013, 09:44 PM
Here is what I have done - it does work...just seems like there must be a better way to do this:

On the SERVER SIDE in the grid...
protected void booksApprovedCampusRadgrid_ItemDataBound(object sender, GridItemEventArgs e)
    {
 
        if (e.Item is GridDataItem)
        {
 
            Label CampusIDLabel = (Label)e.Item.FindControl("CampusIDLabel");
            RadNumericTextBox CopiesToOrderRadNumericTextbox = (RadNumericTextBox)e.Item.FindControl("CopiesToOrderRadNumericTextbox");
 
              string script = string.Format("saveCopiesNeeded('{0}','{1}'); return false;", CampusIDLabel.Text, CopiesToOrderRadNumericTextbox.ClientID);
 
                CopiesToOrderRadNumericTextbox.Attributes.Add("onblur", script);
 
        }
    }


On the CLIENT SIDE

  function saveCopiesNeeded(CampusID, Control) {
                var copiesNeeded = $("#" + Control).val();
// more code here...
 
}
Tags
Grid
Asked by
Wired_Nerve
Top achievements
Rank 2
Answers by
Wired_Nerve
Top achievements
Rank 2
Share this question
or