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

RadGrid client side binding with more than 100 rows

5 Answers 140 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Sandeep
Top achievements
Rank 1
Sandeep asked on 11 Nov 2013, 09:09 AM
Hi,

Please read my scenario described below.

Scenario: I have a RadGrid with approx. 10 GridTemplateColumns where in 9 template columns consists of RadTextBox and one template column has RadComboBox. The scenario is that this RadGrid is bound by more than 100 rows every time. Currently am using the client side programmatic binding method to bind the RadGrid.

Problem: I have observed that it is taking 2-3 minutes to bind the grid with more than 90 rows.

Can anyone suggest me on how to improve the performance? I want the RadGrid to be loaded in very quick time, say in around 5-10 seconds.
Any help would be greatly appreciated.

Thanks,
Sandeep

5 Answers, 1 is accepted

Sort by
0
Jayesh Goyani
Top achievements
Rank 2
answered on 11 Nov 2013, 04:42 PM
Hello,

I have already used this method in my pages, but i am never faced this issue in my pages.

Can you please check that, how much time it will take to get the data from the Database? (Temporary please pass the mock/static data and check that)?

Let me know if any concern.

Thanks,
Jayesh Goyani
0
Sandeep
Top achievements
Rank 1
answered on 12 Nov 2013, 12:10 PM
Thanks Jayesh.
I will check and get back.

Regards,
Sandeep
0
Sandeep
Top achievements
Rank 1
answered on 15 Nov 2013, 11:31 AM
Hi Jayesh,

I was able to bind the grid. But it binds the template columns only for 11 rows and after that it shows simple GridBind Columns as in the attached image. Can you please tell me why is it behaving that way. Thanks in advance.

Regards,
Sandeep

0
Eyup
Telerik team
answered on 20 Nov 2013, 08:24 AM
Hello Sandeep,

When using Client-Side binding, you should use GridClientTemplates:
http://demos.telerik.com/aspnet-ajax/grid/examples/data-binding/client-side/client-item-template/defaultcs.aspx

An alternative approach would be to modify the PageSize property of the grid even if Paging is disabled:
http://www.telerik.com/community/forums/aspnet-ajax/grid/client-side-binding---radgridview-could-not-bind-gridtemplatecolumn-after-page-size-changing.aspx

Additionally, please note that rendering 100 comboboxes simultaneously can be a hard task for the browser. You can try to replace them with RadDropDownList and see whether this improves performance:
http://demos.telerik.com/aspnet-ajax/dropdownlist/examples/overview/defaultcs.aspx

Hope this helps.

Regards,
Eyup
Telerik
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to the blog feed now.
0
Jayesh Goyani
Top achievements
Rank 2
answered on 22 Nov 2013, 06:56 AM
Hello Sandeep,

First of all sorry for late reply.

Either you have to follow @Eyup solutions or you have to create element manually.

On Radgrid's databound event you have to created create element manually.
<script>
            function RowDataBound(sender, args) {
                var celName = args.get_item().get_cell("Name");
                var input = document.createElement("input");
                input.type = "text";
                input.value = args.get_dataItem().Name;
                celName.appendChild(input);
            }
        </script>
<ClientSettings ClientEvents-OnRowDataBound="RowDataBound"></ClientSettings>
..........
..........
<telerik:GridBoundColumn DataField="Name" UniqueName="Name" HeaderText="Name">
                    </telerik:GridBoundColumn>


Thanks,
Jayesh Goyani
Tags
Grid
Asked by
Sandeep
Top achievements
Rank 1
Answers by
Jayesh Goyani
Top achievements
Rank 2
Sandeep
Top achievements
Rank 1
Eyup
Telerik team
Share this question
or