Normal koşullarda gridimize bağladığımız sql tablomuzun hızı ve server üzerine yıkacağı işi pek önemsemeyiz ama bu durum tablomuz ve kullanıcı sayımız arttıkça sorun oluşturucaktır, hele ki tablonuzda yaklaşık 1.500.000 kayıt varsa …Hız, kullanım ve serverınızın işlem yoğunluğu açısından kolaylık sağlayacak örneğimize başlayalım.Öncelikle Visual Studio ile bir Web projesi (behind code c#) açalım ve teleriğin bu iki ( Telerik.Charting.dll Telerik.Web.UI.dll ) dll’ ini bin klasörüne ekleyelim.Şimdide database imizi projemize ekliyoruz.

Database’imizle işlemlerimizi kolaylaştıran ve daha anlaşılabilir bir şekilde kullanmamızı sağlayan LinQ classımızı App_Code klasörümüze ekliyoruz.

Projemize Eklenen DataClasses.dbml dosyasına çift tıklayıp server explorer üzerinden eriştiğimiz tablomuzu sürükleyip ekliyoruz.Tüm hazırlıklarımızı tamamladığımıza göre, web servisi ve .aspx sayfasını kodlamaya başlayabiliriz.WebService.asmx<%@ WebService Language=”C#” Class=“WebService” %>using System;using System.Web;using System.Web.Services;using System.Web.Services.Protocols;using System.Linq;[WebService(Namespace = “http://tempuri.org/”)]//kullanacağımız web servis adresimiz[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]// script imiz tarafından web servisimizin çağırılmasına izin veriyoruz[System.Web.Script.Services.ScriptService]public class WebService : System.Web.Services.WebService{// web methoodumuzla list türünde geri dönüm yapıcaz[WebMethod]public System.Collections.Generic.List GetData(int startIndex, int maximumRows, string sortExpression){DataClasses2DataContext db = new DataClasses2DataContext();// db adında linq ile yeni bir data base oluşturuyoruzstring orderBy = (sortExpression != “”) ? String.Format(“Order By {0}”, sortExpression) : “”;return db.ExecuteQuery(String.Format(“SELECT * FROM MyTable {0}”, orderBy)).Skip(startIndex).Take(maximumRows).ToList();}}
Client Data bind edeceğimiz Ajax kullanacağımız kısma geçelim.Default.aspx<%@ Page Language=”C#” %><%@ Register TagPrefix=”telerik” Namespace=“Telerik.Web.UI” Assembly=”Telerik.Web.UI” %>
Untitled Page





Change page:”Previuos’border=”0″ onclick=”onPageCommand(‘prev’)” style=”cursor: pointer;” /> ”Next’border=”0″ onclick=”onPageCommand(‘next’)” style=”cursor: pointer;” />
”Loading…”’border=”0″ style=”visibility: hidden;float:left;margin-left: 30px; margin-top:2px;” />Displaying page 1 of
<%# RadGrid1.PageCount %>, items 1
to 10 of
<%# RadGrid1.MasterTableView.VirtualItemCount %>.





Örnek projemizi çalıştırdığımız zaman RadGridimiz web sayfasına hızlı birşekilde veriler ile birlikte yüklenecektir.

Grid’ e dönülen Json kalıbını görelim