RadGrid
RadInput |
4.5.x+
2.0.x+
|
| Web.UI version |
2007.3.1425 |
| .NET version |
2.x
|
| Visual Studio version |
2005
|
| browser support |
all browsers supported by RadControls
|
| To convert code |
Telerik online converter |
|
PROJECT DESCRIPTION
The code sample demonstrates how to use JavaScript and RadNumericTextBoxes to dynamically update the contents of a RadNumericTextBox, located in the footer of RadGrid. The code takes advantage of the Client-side API of the NumericTextBox control to update the footer control when onblur event is raised for RadNumericTextBox:
JavaScript:
| <script type="text/javascript"> |
| |
| var sumInput = null; |
| var tempValue = 0.0; |
| |
| function Load(sender, args) |
| { |
| sumInput = sender; |
| } |
| function Blur(sender, args) |
| { |
| sumInput.SetValue(tempValue + sender.GetValue()); |
| } |
| function Focus(sender, args) |
| { |
| tempValue = sumInput.GetValue() - sender.GetValue(); |
| } |
| </script> |
ASPX:
| <radG:RadGrid ShowFooter="true" ID="RadGrid1" runat="server" DataSourceID="AccessDataSource1" |
| GridLines="None" OnItemDataBound="RadGrid1_ItemDataBound" Skin="Lime" AllowPaging="true" PageSize="15"> |
| <MasterTableView AutoGenerateColumns="False" DataKeyNames="OrderID" DataSourceID="AccessDataSource1"> |
| <Columns> |
| <radG:GridBoundColumn DataField="OrderID" DataType="System.Int32" HeaderText="OrderID" |
| ReadOnly="True" SortExpression="OrderID" UniqueName="OrderID"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="ShippedDate" HeaderText="ShippedDate" SortExpression="ShippedDate" |
| UniqueName="ShippedDate" DataFormatString="{0:D}"> |
| </radG:GridBoundColumn> |
| <radG:GridBoundColumn DataField="ShipCity" HeaderText="ShipCity" SortExpression="ShipCity" |
| UniqueName="ShipCity"> |
| </radG:GridBoundColumn> |
| <radG:GridTemplateColumn UniqueName="Template1" HeaderText="Freight"> |
| <ItemTemplate> |
| <radI:RadNumericTextBox ID="TextBox1" runat="server" Text='<% #Eval("Freight") %>'> |
| <ClientEvents OnBlur="Blur" OnFocus="Focus" /> |
| </radI:RadNumericTextBox> |
| </ItemTemplate> |
| <FooterTemplate> |
| <radI:RadNumericTextBox ID="TextBox2" runat="server"> |
| <ClientEvents OnLoad="Load" /> |
| </radI:RadNumericTextBox> |
| </FooterTemplate> |
| </radG:GridTemplateColumn> |
| </Columns> |
| <PagerStyle Mode="NextPrevAndNumeric" /> |
| </MasterTableView> |
| </radG:RadGrid><asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/Nwind.mdb" |
| SelectCommand="SELECT [OrderID], [ShippedDate], [ShipCity], [Freight] FROM [Orders]"></asp:AccessDataSource> |
VB:
| Private sum As Double = 0 |
| |
| |
| Protected Sub RadGrid1_ItemDataBound(ByVal sender As Object, ByVal e As GridItemEventArgs) Handles RadGrid1.ItemDataBound |
| If TypeOf e.Item Is GridDataItem Then |
| Dim dataItem As GridDataItem = DirectCast(e.Item, GridDataItem) |
| sum += Double.Parse((TryCast(dataItem("Template1").FindControl("TextBox1"), RadNumericTextBox)).Text) |
| ElseIf TypeOf e.Item Is GridFooterItem Then |
| Dim footer As GridFooterItem = DirectCast(e.Item, GridFooterItem) |
| footer("ShipCity").Controls.Add(New LiteralControl("<span style='color: white; font-weight: bold;'>Total freight on this page is:</span> ")) |
| (TryCast(footer("Template1").FindControl("TextBox2"), RadNumericTextBox)).Text = sum.ToString() |
| End If |
| End Sub |