or
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="RadGridTesting.WebForm1" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerikControls" %><!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> <link href="../../TelerikCSS_ETO/Grid.ETOGrid.css" rel="stylesheet" type="text/css" /></head><body> <form id="form1" runat="server"> <asp:ScriptManager ID="scrpt1" runat="server"></asp:ScriptManager> <div> <telerikControls:RadGrid ID="gvTest" runat="server" GridLines="None" onitemcommand="gvTest_ItemCommand" onneeddatasource="gvTest_NeedDataSource"> <MasterTableView AutoGenerateColumns="false" ShowFooter="true" Width="100%" TableLayout="Auto" HeaderStyle-VerticalAlign="Middle" HeaderStyle-HorizontalAlign="Left" HeaderStyle-Font-Bold="true" ViewStateMode="Enabled" ItemStyle-VerticalAlign="Middle" ExpandCollapseColumn-Display="false" ExpandCollapseColumn-Visible="false"> <Columns> <telerikControls:GridTemplateColumn> <ItemTemplate> <asp:TextBox ID="txtsno" MaxLength="3" runat="server" Width="25px" Text='<%# Eval("sno") %>'></asp:TextBox> </ItemTemplate> </telerikControls:GridTemplateColumn> <telerikControls:GridTemplateColumn HeaderStyle-HorizontalAlign="Left"> <ItemTemplate> <telerikControls:RadEditor ID="txt1" runat="server" Height="25px" ToolsWidth="130px" Content='<%# DataBinder.Eval(Container.DataItem, "text") %>' ToolbarMode="ShowOnFocus" EditModes="Design" ContentFilters="DefaultFilters" /> </ItemTemplate> </telerikControls:GridTemplateColumn> <telerikControls:GridTemplateColumn ItemStyle-VerticalAlign="Top"> <ItemTemplate> <asp:LinkButton ID="lbtn1" CausesValidation="false" CommandName="DELETE" Text="Delete" runat="server"></asp:LinkButton> </ItemTemplate> </telerikControls:GridTemplateColumn> <telerikControls:GridTemplateColumn ItemStyle-VerticalAlign="Top"> <ItemTemplate> <asp:LinkButton ID="lbtn2" CausesValidation="false" CommandName="ADD" Text="Add" runat="server"></asp:LinkButton> </ItemTemplate> </telerikControls:GridTemplateColumn> </Columns> </MasterTableView> </telerikControls:RadGrid> </div> </form></body></html>using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using Telerik.Web.UI;namespace RadGridTesting{ public partial class WebForm1 : System.Web.UI.Page { List<DataText> lstList = new List<DataText>(); protected void Page_Load(object sender, EventArgs e) { } /// <summary> /// Add and remove row /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void gvTest_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e) { if (e.CommandName == "ADD") { GridDataItem item = (GridDataItem)((LinkButton)e.CommandSource).NamingContainer; lstList = BindGrid(item.ItemIndex, "Add"); this.gvTest.Rebind(); } else if (e.CommandName == "DELETE") { GridDataItem item = (GridDataItem)((LinkButton)e.CommandSource).NamingContainer; lstList = BindGrid(item.ItemIndex, "Delete"); this.gvTest.Rebind(); } } protected void gvTest_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e) { if (!IsPostBack) { lstList = new List<DataText> { new DataText{ sno = 1 , text = "A"}, new DataText{ sno = 2 , text = "B"}, new DataText{ sno = 3 , text = "C"}, new DataText{ sno = 4 , text = "D"}, new DataText{ sno = 5 , text = "E"} }; } this.gvTest.DataSource = lstList; } private List<DataText> BindGrid(int _RowID, string opAddDelete) { lstList = new List<DataText>(); int sno = 1; foreach (GridDataItem item in this.gvTest.Items) { RadEditor txt1 = (RadEditor)item.FindControl("txt1"); DataText dt = new DataText(); if (opAddDelete == "Delete" && item.ItemIndex == _RowID) { } else { dt.sno = sno; dt.text = txt1.Text; lstList.Add(dt); sno++; } if (opAddDelete == "Add" && item.ItemIndex == _RowID) { dt = new DataText(); dt.sno = sno; lstList.Add(dt); sno++; } } return lstList; } }}using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace RadGridTesting{ public class DataText { public int sno { get; set; } public string text { get; set; } }}Client Side Rad Grid Binding- How to pass extra arguments to web service method (GetData or GetDataAndCount) other than 4 default arguments and bind grid on a button click with an asynchronous call to web service.
I am trying to use client side binding of Rad Grid as demonstrated on the following link http://demos.telerik.com/aspnet-ajax/grid/examples/client/declarativedatabinding/defaultcs.aspx. My scenario is a bit different from this one. I want to pass in some 4-5 extra arguments to my web service method from the top level filter controls (not column level filter) on top of the page and then I want to rebind my grid by making an asynchronous call to my web service on a button click without a postback.
<telerik:RadAsyncUpload runat="server" ID="rfUpload" Width="225px"
DropZones="#DropZone" MultipleFileSelection="Automatic" AutoAddFileInputs="true"
OnClientAdded="fiad" OnClientFileUploadRemoved="fiad" OnClientFileUploaded="fiup" UploadedFilesRendering="BelowFileInput" /><asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" UpdatePanelsRenderMode="Inline"> <ClientEvents OnRequestStart="onRequestStart" /> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="grdItemComp"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="grdItemComp" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="RadTabStrip1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="grdItemComp" LoadingPanelID="RadAjaxLoadingPanel1" /> <telerik:AjaxUpdatedControl ControlID="RadTabStrip1" UpdatePanelRenderMode="Inline" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="cbVendorsMain"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="grdItemComp" LoadingPanelID="RadAjaxLoadingPanel1" /> <telerik:AjaxUpdatedControl ControlID="lblVendorItemsOnFile" /> <telerik:AjaxUpdatedControl ControlID="cbVendors" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <div class="wrapper"> <div class="IC_Header_Right"> <p>Last Vendor Data Upload: <asp:Label runat="server" ID="lblLasVendorUpload" Text="" Font-Underline="true" /></p> <b><asp:Label runat="server" ID="lblVendorItemsOnFile" Text="" /></b> </div> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="WebBlue"> </telerik:RadAjaxLoadingPanel> <div class="IC_TabStrip"> <telerik:RadTabStrip ID="RadTabStrip1" runat="server" SelectedIndex="0" ontabclick="RadTabStrip1_TabClick" EnableAjaxSkinRendering="true"> <Tabs> <telerik:RadTab runat="server" Text="Matching" /> <telerik:RadTab runat="server" Text="Discrepancies" Selected="True" /> <telerik:RadTab runat="server" Text="Not in Our Item File" /> <telerik:RadTab runat="server" Text="Not in Their File" /> </Tabs> </telerik:RadTabStrip> <div id="divgrid" class="IC_Grid"> <telerik:RadGrid ID="grdItemComp" runat="server" Skin="Windows7" EnableAjaxSkinRendering="true" CellSpacing="0" GridLines="None" AutoGenerateColumns="False" AllowPaging="True" PageSize="17" onpageindexchanged="grdItemComp_PageIndexChanged" onneeddatasource="grdItemComp_NeedDataSource" onitemcommand="grdItemComp_ItemCommand" > <ClientSettings> <Selecting CellSelectionMode="None"></Selecting> </ClientSettings> <ExportSettings HideStructureColumns="true" /> <MasterTableView CommandItemDisplay="Bottom" UseAllDataFields="true"> <CommandItemSettings ShowRefreshButton="false" ShowAddNewRecordButton="false" ShowExportToExcelButton="true"></CommandItemSettings> <RowIndicatorColumn Visible="True" FilterControlAltText="Filter RowIndicator column"> <HeaderStyle Width="20px"></HeaderStyle> </RowIndicatorColumn> <ExpandCollapseColumn Visible="True" FilterControlAltText="Filter ExpandColumn column"> <HeaderStyle Width="20px"></HeaderStyle> </ExpandCollapseColumn> <Columns> <telerik:GridBoundColumn DataField="UPC" HeaderText="UPC" UniqueName="UPC"> <HeaderStyle Width="50px" /> <ItemStyle Width="50px" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="SB_ITEM_NO" HeaderText="Our Item No" UniqueName="SB_ITEM_NO"> <HeaderStyle Width="50px" /> <ItemStyle Width="50px" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="VENDOR_ITEM_DESC" HeaderText="Their Item Description" UniqueName="VENDOR_ITEM_DESC" DataFormatString="<nobr>{0}</nobr>"> <HeaderStyle Width="250px" /> <ItemStyle Width="250px" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="VENDOR_ITEM_SIZE" HeaderText="Their Item Size" UniqueName="VENDOR_ITEM_SIZE" DataFormatString="<nobr>{0}</nobr>"> <HeaderStyle Width="100px" /> <ItemStyle Width="100px" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="SB_ITEM_DESC" HeaderText="Our Item Description" UniqueName="SB_ITEM_DESC" DataFormatString="<nobr>{0}</nobr>"> <HeaderStyle Width="250px" /> <ItemStyle Width="250px" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="SB_ITEM_SIZE" HeaderText="S.B. Item Size" UniqueName="SB_ITEM_SIZE" DataFormatString="<nobr>{0}</nobr>"> <HeaderStyle Width="100px" /> <ItemStyle Width="100px" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="VENDOR_BASE_COST" HeaderText="Vendor Base Cost" UniqueName="Vendor_BASE_COST" DataFormatString="{0:###,##0.00###}" > <HeaderStyle Width="50px" HorizontalAlign="Right" /> <ItemStyle Width="50px" HorizontalAlign="Right" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="VENDOR_ALLOWANCE" HeaderText="Vendor Allowance" UniqueName="VENDOR_ALLOWANCE" DataFormatString="{0:###,##0.00###}"> <HeaderStyle Width="50px" HorizontalAlign="Right" /> <ItemStyle Width="50px" HorizontalAlign="Right" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="VENDOR_NET_COST" HeaderText="Vendor Net Cost" UniqueName="VENDOR_NET_COST" DataFormatString="{0:###,##0.00###}"> <HeaderStyle Width="50px" HorizontalAlign="Right" /> <ItemStyle Width="50px" BackColor="Silver" Font-Bold="True" HorizontalAlign="Right" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="SB_BASE_COST" HeaderText="Our Base Cost" UniqueName="SB_BASE_COST" DataFormatString="{0:###,##0.00###}"> <HeaderStyle Width="50px" HorizontalAlign="Right" /> <ItemStyle Width="50px" HorizontalAlign="Right" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="SB_ALLOWANCE" HeaderText="Our Allowance" UniqueName="SB_ALLOWANCE" DataFormatString="{0:###,##0.00###}"> <HeaderStyle Width="50px" HorizontalAlign="Right" /> <ItemStyle Width="50px" HorizontalAlign="Right" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="SB_NET_COST" HeaderText="Our Net Cost" UniqueName="SB_NET_COST" DataFormatString="{0:###,##0.00###}"> <HeaderStyle Width="50px" HorizontalAlign="Right" /> <ItemStyle Width="50px" BackColor="Silver" Font-Bold="True" HorizontalAlign="Right" /> </telerik:GridBoundColumn> </Columns> <EditFormSettings> <EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn> </EditFormSettings> </MasterTableView> <FilterMenu EnableImageSprites="False"></FilterMenu> </telerik:RadGrid> </div> </div> <script type="text/javascript"> function onRequestStart(sender, args) { if (args.get_eventTarget().indexOf("ExportToExcelButton") >= 0 || args.get_eventTarget().indexOf("ExportToWordButton") >= 0 || args.get_eventTarget().indexOf("ExportToCsvButton") >= 0) { args.set_enableAjax(false); } } function Popup(message) { alert(message); }; </script> </div></asp:Content>RadGrid1.DataBind() RadGrid1.ExportSettings.OpenInNewWindow = True RadGrid1.ExportSettings.ExportOnlyData = False RadGrid1.ExportSettings.HideStructureColumns = False RadGrid1.ExportSettings.IgnorePaging = True RadGrid1.MasterTableView.ExportToExcel()<telerik:RadWindow ID="Details" runat="server" Title="Details" Width="450" Height="536" VisibleOnPageLoad="false" Behaviors="Move, Close" Left="580" EnableShadow="true" RegisterWithScriptManager="false"> <ContentTemplate> <telerik:RadTextBox ID="Test" runat="server"> </telerik:RadTextBox> </ContentTemplate></telerik:RadWindow>function refreshRadGrid() { var masterTable = $find("<%=RadGrid2.ClientID%>").get_masterTableView(); masterTable.rebind();}Protected Sub RadGrid2_NeedDataSource(sender As Object, e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles RadGrid2.NeedDataSource ' MATERIALS FOR DAYSHEET Dim dt As New DataTable If lblHeaderID.Text <> 0 Then Dim itm As New dbrcOrdItems(Session("ConnectionString")) Dim HeaderID As Integer = lblHeaderID.Text dt = itm.ListforDaySheet(HeaderID) RadGrid2.DataSource = dt End If RadGrid2.DataSource = dtEnd Sub