Today all the Web Developer know about jQuery the Javascript framework. And jQuery Server Control is also popular. You can download this from codeplex.:http://jqueryuiserverctls.codeplex.com/
You can also read about jQuery Grid name jqGrid and it's free open source (http://www.trirand.com/blog/?page_id=6) and it's UI version is paid: http://www.trirand.net/demo.aspx
But if you are really love AJAX / Javascript then use the open source javascript framework.
http://www.ext.net/
http://examples.ext.net/
http://extaspnet.codeplex.com/
I give demo for Gridview control of Ext.NET
How to install the Ext.NET
- Jut put the Ext.Net.dll in Bin folder.
- Add the new Tab in ToolBox and call this .dll
- Change your webconfig like
<configSections>
</configSections><httpHandlers><add path="*/ext.axd" verb="*" type="Ext.Net.ResourceHandler" validate="false" /></httpHandlers><httpModules><add name="DirectRequestModule" type="Ext.Net.DirectRequestModule, Ext.Net" /></httpModules><system.webServer><modules runAllManagedModulesForAllRequests="true"/><validation validateIntegratedModeConfiguration="false"/><modules><add name="DirectRequestModule"preCondition="managedHandler" type="Ext.Net.DirectRequestModule, Ext.Net"/></modules><handlers><add name="DirectRequestHandler"verb="*" path="*/ext.axd" preCondition="integratedMode"type="Ext.Net.ResourceHandler" /></handlers></system.webServer>Your aspx page
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Gridview1.aspx.cs" Inherits="GridView_Gridview1" %><%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %><!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></head><body><form id="form1" runat="server"><ext:ResourceManager ID="ResourceManager1" runat="server"></ext:ResourceManager><div><ext:GridPanel ID="GridPanel1" runat="server" Height="500" Width="500" Title="Employee Information"><ColumnModel ID="ColumnModel1" runat="server"><Columns><ext:Column ColumnID="ID" DataIndex="ID" Header="ID"></ext:Column><ext:Column Header="Name" DataIndex="Name" width="150"></ext:Column><ext:Column Header="City" DataIndex="City" width="150"></ext:Column></Columns></ColumnModel><Store><ext:Store ID="Store1" runat="server" OnRefreshData="MyData_Refresh"><Reader><ext:JsonReader><Fields><ext:RecordField Name="ID"></ext:RecordField><ext:RecordField Name="Name" ></ext:RecordField><ext:RecordField Name="City"></ext:RecordField></Fields></ext:JsonReader></Reader></ext:Store></Store><SelectionModel><ext:RowSelectionModel runat="server"></ext:RowSelectionModel></SelectionModel><LoadMask ShowMask="true" /><BottomBar><ext:PagingToolbar ID="PagingToolbar1" runat="server" PageSize="25"><Items><ext:Label ID="Label1" runat="server" Text="Page size:" /><ext:ToolbarSpacer ID="ToolbarSpacer1" runat="server" Width="10" /><ext:ComboBox ID="ComboBox1" runat="server" Width="80"><Items><ext:ListItem Text="25" /><ext:ListItem Text="50" /></Items><SelectedItem Value="25" /><Listeners><Select Handler="#{PagingToolbar1}.pageSize = parseInt(this.getValue()); #{PagingToolbar1}.doLoad();" /></Listeners></ext:ComboBox></Items></ext:PagingToolbar></BottomBar></ext:GridPanel></div></form></body></html>Your .cs page
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using Ext.Net;public partial class GridView_Gridview1 : System.Web.UI.Page{string connection = System.Configuration.ConfigurationManager.ConnectionStrings["testDatabaseConnectionString"].ToString();protected void Page_Load(object sender, EventArgs e){if (!X.IsAjaxRequest){this.BindData();}}protected void MyData_Refresh(object sender, StoreRefreshDataEventArgs e){this.BindData();} private void BindData(){Store1 = this.GridPanel1.GetStore();using (ExtNetDataDataContext db = new ExtNetDataDataContext(connection)) { var info = (from a in db.Emp_Msts select new {ID = a.id,Name = a.emp_name + " " + a.emp_lname, City = a.city});Store1.DataSource = info; Store1.DataBind(); } } }
Your page source:
<!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> <link
rel="stylesheet" type="text/css" href="/ExtNetExample/extjs/resources/css/ext-all-embedded-css/ext.axd?v=21945" /> <title> </title> <script type="text/javascript" src="/ExtNetExample/extjs/adapter/ext/ext-base-js/ext.axd?v=21945"></script> <script type="text/javascript" src="/ExtNetExample/extjs/ext-all-js/ext.axd?v=21945"></script> <script type="text/javascript" src="/ExtNetExample/extnet/extnet-core-js/ext.axd?v=21945"></script> <script type="text/javascript" src="/ExtNetExample/extnet/extnet-data-js/ext.axd?v=21945"></script> <script type="text/javascript"> //<![CDATA[ Ext.net.ResourceMgr.init({ id: "ResourceManager1", BLANK_IMAGE_URL:
"/ExtNetExample/extjs/resources/images/default/s-gif/ext.axd", aspForm: "form1", theme: "blue", appName: "ExtNetExample" }); Ext.onReady(function () { Ext.QuickTips.init(); new Ext.net.GridPanel({ store: this.Store1 = new Ext.ux.data.PagingStore({ proxyId: "Store1", autoLoad: true, reader: new Ext.data.JsonReader({ fields: [{ name: "ID" }, { name: "Name" }, { name: "City"}] }), directEventConfig: {}, proxy: new Ext.data.PagingMemoryProxy([{ "ID": 1, "Name": "Jayendrasinh Gohil", "City": "Ahmedabad" }, { "ID": 2, "Name": "Alkaba Gohil", "City": "Ahmedabad" }, { "ID": 3, "Name": "Purvesh Maisuriya", "City": "Surat" }, { "ID": 4, "Name": "Jigar Patel", "City": "Ahmedabad" }, { "ID": 5, "Name": "Jignesh Ahiya", "City": "Rajakot" }, { "ID": 6, "Name": "Jayesh Patel", "City": "Ankleshwar" }, { "ID": 7, "Name": "Shipra Shah", "City": "Simala" }, { "ID": 8, "Name": "Shailesh Chavada", "City": "Rajakot" }, { "ID": 9, "Name": "Ritul Patel", "City": "Ahmedabad" }, { "ID": 10, "Name": "Meet Chauhan", "City": "Morabee" }, { "ID": 11, "Name": "Manthan Bhavasar", "City": "Ahmedabad" }, { "ID": 12, "Name": "Jatin Patel", "City": "Ahmedabad"}], false), beforeLoadParams: function (store, options) { if (!options.params) { options.params = {}; }; Ext.apply(options.params, {}); Ext.applyIf(options.params, { "start": 0, "limit": 25 }); } }), id: "GridPanel1", renderTo: "GridPanel1_Container", height: 500, width: 500, bbar: { id: "PagingToolbar1", xtype: "ux.paging", items: [{ id: "Label1", xtype: "label", text: "Page size:" }, { id: "ToolbarSpacer1", xtype: "nettbspacer", width: 10 }, { id: "ComboBox1", xtype: "combo", width: 80, value: "25", displayField: "text", hiddenName: "ComboBox1_Value", mode: "local", queryDelay: 10, triggerAction: "all", valueField: "value", store: new Ext.data.SimpleStore({ fields: ["text", "value"], data: [["25", "25"], ["50", "50"]] }), submitValue: true, listeners: { select: { fn: function (item, record, index) { PagingToolbar1.pageSize = parseInt(this.getValue()); PagingToolbar1.doLoad(); } }}}], displayInfo: true, pageSize: 25 }, title: "Employee Information", loadMask: { showMask: true }, sm: this.ctl02 = new Ext.grid.RowSelectionModel({ proxyId: "ctl02" }), selectionSavingBuffer: 10, cm: this.ColumnModel1 = new Ext.grid.ColumnModel({ proxyId: "ColumnModel1", columns: [{ dataIndex: "ID", header: "ID", id: "ID" }, { dataIndex: "Name", header: "Name", width: 150 }, { dataIndex: "City", header: "City", width: 150}] }) }); });
//]]>
</script> </head> <body>
<form method="post" action="Gridview1.aspx" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJOTcxNzA5MzU0D2QWAgIDD2QWAgIDD2QWAgIDD2QW AgICDxQqElN5c3RlbS5XZWIuVUkuUGFpcgEPBQl2c01lbWJlcnMUKwACD wUMU2VsZWN0ZWRJdGVtFCsEAQ8FBGJhc2UWAh4FVmFsdWUFAjI1D wUFSXRlbXMPAgIUKwACFCsEAQ8FBGJhc2UWBB4EVGV4dAUCMjUfA AUCMjUUKwQBDwUEYmFzZRYEHwEFAjUwHwAFAjUwZBgBBR5fX0N vbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WBAUQUmVzb3VyY2 VNYW5hZ2VyMQUKR3JpZFBhbmVsMQUOUGFnaW5nVG9vbGJhcjE FCUNvbWJvQm94MWs1+s9nhyvctW3BvAIhebkEYfAk1Om1NNawtblq+L2H" />
</div>
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['form1'];
if (!theForm) {
theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
} }
//]]>
</script>
<div class="aspNetHidden">
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAgLUtaKDDQLk1b+VAnsbQeCCZgJP8aRltJVrS6z/d5NWTNHmM4fcqIZC1SjI" />
</div>
<div>
<div id="GridPanel1_Container">
</div>
</div>
</form> </body>
</html>
You can see the following image in Frirebug Ext.NET create DOM object for your grid so it's more faster then ASP.NET gridview control.
![]()
Loading


Join the conversation! Your thoughts help the community grow.