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

[Solved] How to bind rad grid while selecting the combo items

8 Answers 176 Views
Grid
This is a migrated thread and some comments may be shown as answers.
balaji
Top achievements
Rank 1
balaji asked on 30 May 2009, 05:48 AM
Hi Folks,
I Have a Radcombobox itms in which i have loaded some items during onload event.
When if i click the radcombo items i  need to bind the grid view based on the text i have selected and moreover the Page Should not postback.
Thanks
Awaiting for your Reply,
Regards
N.Balaji

8 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 01 Jun 2009, 11:08 AM
Hi Balaji,

I would suggest you to bind the grid on client side using web service. In the OnClientSelectedIndexChanged event pass the selected value of the ComboBox as paramter to webservice and bind the Grid using webservice web methods.

ASPX:

<
telerik:RadComboBox ID="RadComboBox1" runat="server" OnClientSelectedIndexChanged="OnClientSelectedIndexChanged" > 
        </telerik:RadComboBox> 

JS:
 
 
function OnClientSelectedIndexChanged(combo, eventarqs) 
 
  var item = eventarqs.get_item(); 
  alert(item.get_text()); 
                           
   WebService.UpdateEmployeeByEmployee(item.get_text(), BindGrid ); 
             
            function BindGrid(result) 
            { 
               
                var tableView = $find("<%= RadGrid1.ClientID %>").get_masterTableView(); 
                tableView.set_dataSource(result); 
                tableView.dataBind(); 
                 
                var grid = $find("<%= RadGrid1.ClientID %>"); 
                grid.repaint(); 
            } 
 


Regards
Shinu
0
Tsvetoslav
Telerik team
answered on 01 Jun 2009, 11:08 AM
Hello balaji,

You should:

1. Add a RadAjaxManager control to your page.

2. Wire up and event handler to the RadAjaxManager's OnAjaxRequest event.

2. Attach an event handler to the OnClientSelectedIndexChanged event of the combo box and get the selected text as explained in the following help topic: (here).

3. In the same event handler make an ajax request through the RadAjaxManager client object, passing as an argument the selected item's text. For more information on ajax requests, please, refer to the following help article: (here).

4. In the server-side  event handler to the RadAjaxManager's OnAjaxRequest event, retrieve the records from your underlying data source using the Argument property of the AjaxRequestEventArgs object.

5. Assign the retrieved data to the grid's DataSource property and call the grid's Rebind() method.

I hope this helps.

All the best,
Tsvetoslav
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
0
balaji
Top achievements
Rank 1
answered on 01 Jun 2009, 11:32 AM
Shinu
In web service how to write the function
for instance i have written something like this
[WebMethod]
     public  ??  bindgrid()
{
}

what to fill in the question mark area
1) do i need to import the same namespace as we do conventionally for code behind
0
balaji
Top achievements
Rank 1
answered on 01 Jun 2009, 11:47 AM
Can you please be specific Shinu
This is Urgent ill be greatfull to you

0
Shinu
Top achievements
Rank 2
answered on 01 Jun 2009, 12:53 PM
Hi,

You may refer the following help article which shows how to bind the Grid using WebService. In the document they have used a class file 'EmployeesList.cs'  to retrieve the data for the Grid. An employee list collection is returned in the WebService method.
Client-side update/insert/delete

Shinu
0
balaji
Top achievements
Rank 1
answered on 02 Jun 2009, 05:59 AM


Hi Shinu thanks for the info
I have Tried the demo code in my application while using am getting this strange error which am unable to trouble shoot.

Initially it showed that we need to register radscript manager in the httphandler in web.config.
After adding that am getting this strange error.

 

<?xml version="1.0"?>
<!--
    Note: As an alternative to hand editing this file you can use the
    web admin tool to configure settings for your application. Use
    the Website->Asp.Net Configuration option in Visual Studio.
    A full list of settings and comments can be found in
    machine.config.comments usually located in
    \Windows\Microsoft.Net\Framework\v2.x\Config
-->
<configuration>
 <configSections>
  <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
   <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
    <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
    <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
     <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
     <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
     <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
     <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
    </sectionGroup>
   </sectionGroup>
  </sectionGroup>
 </configSections>
 <appSettings/>
 <connectionStrings/>
 <system.web>
  <!--
            Set compilation debug="true" to insert debugging
            symbols into the compiled page. Because this
            affects performance, set this value to true only
            during development.
        -->
  <compilation debug="true">
   <assemblies>
    <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
   </assemblies>
  </compilation>
  <!--
            The <authentication> section enables configuration
            of the security authentication mode used by
            ASP.NET to identify an incoming user.
        -->
  <authentication mode="Windows"/>
  <!--
            The <customErrors> section enables configuration
            of what to do if/when an unhandled error occurs
            during the execution of a request. Specifically,
            it enables developers to configure html error pages
            to be displayed in place of a error stack trace.

        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
        -->
  <pages>
   <controls>
    <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
   </controls>
  </pages>
    <httpHandlers>
       <remove path="*.asmx" verb="*" />
       <add path="*.asmx" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
          validate="false" />
       <add path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
          validate="false" />
       <add path="ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
          validate="false" />
      <add path="Telerik.Web.UI.WebResource.axd" verb="*" type="Telerik.Web.UI.WebResource, Telerik.Web.UI, Version=2008.3.1105.35, Culture=neutral, PublicKeyToken=121fae78165ba3d4"
         validate="false" />
    </httpHandlers>
  <httpModules>
   <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  </httpModules>
 </system.web>
 <system.codedom>
  <compilers>
   <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    <providerOption name="CompilerVersion" value="v3.5"/>
    <providerOption name="WarnAsError" value="false"/>
   </compiler>
   <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    <providerOption name="CompilerVersion" value="v3.5"/>
    <providerOption name="OptionInfer" value="true"/>
    <providerOption name="WarnAsError" value="false"/>
   </compiler>
  </compilers>
 </system.codedom>
 <!--
        The system.webServer section is required for running ASP.NET AJAX under Internet
        Information Services 7.0.  It is not necessary for previous version of IIS.
    -->
 <system.webServer>
  <validation validateIntegratedModeConfiguration="false"/>
  <modules>
   <remove name="ScriptModule"/>
   <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  </modules>
  <handlers>
   <remove name="WebServiceHandlerFactory-Integrated"/>
   <remove name="ScriptHandlerFactory"/>
   <remove name="ScriptHandlerFactoryAppServices"/>
   <remove name="ScriptResource"/>
   <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
   <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
   <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
  </handlers>
 </system.webServer>
 <runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
   <dependentAssembly>
    <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
   </dependentAssembly>
   <dependentAssembly>
    <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
   </dependentAssembly>
  </assemblyBinding>
 </runtime>
</configuration>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0
balaji
Top achievements
Rank 1
answered on 19 Jun 2009, 11:23 AM
Hey There thanks for your help but
This is what the error i get while i try to use the above code.

Microsoft JScript runtime error: 'null' is null or not an object

Here Result is in the <List> format where i get it from webservices
function OnClientSelectedIndexChanged(combo, eventarqs) {
                debugger;
                var item = eventarqs.get_item();
//                alert(item.get_text());

                MygridService.Getitemsbymodule(item.get_text(), BindGrid);
            }

            function BindGrid(result) {

                debugger;

                var tableView = $find("RadGrid2").get_masterTableView();
                tableView.set_dataSource(result);
                tableView.dataBind();

                var grid = $find("RadGrid2");
                grid.repaint();
            }

while Debugging i get this error.

a)while debugging script with the help of debugger i am damn sure that the result is not null.
but am getting error some where in one dynamic file called 
Telerik.Web.ui.WebResource_2.axd ad so on
b) is the above code use full  for only one record or more than one record





0
balaji
Top achievements
Rank 1
answered on 19 Jun 2009, 11:55 AM
One more quest can we apply the same code for binding the radtreeview
Thanks
Regards
N.Balaji
Tags
Grid
Asked by
balaji
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Tsvetoslav
Telerik team
balaji
Top achievements
Rank 1
Share this question
or