Click here to Skip to main content
Licence 
First Posted 15 Aug 2005
Views 140,589
Bookmarked 57 times

AJAX DataGrid(with client-side paging ) at glance

By | 12 Mar 2006 | Article
Genric AJAX library (fill textbox, dropdown, datagrid).
 
Part of The SQL Zone sponsored by
See Also

Sample Image - Ajax_DataGrid_at_glance.jpg

Abstract

 Hi there of course all of you hear about Ajax  ;) and about its performance,but the main problem is you have to write Javascript function for each case also I didn't found any code to fill Datagrid(note: Datagrid is converted to Html Table at Client-side) with Ajax so I decided to write  generic JavaScipt library for Ajax and also support Datagrid with paging.

How to run demo

you have to change database connection string in web.config also you have to change

javascript variable called:

var serverURL="<A href="http://163.121.16.41/">http://163.121.16.41/</A>"

to you machine IP all of three files(AjaxLibHH09b.js,AjaxLibWS09b.js & HtmlTable2.aspx)

1]-I attach to projects you can use any of them

    a-GenricAjaxWS: it is HttpHandler webservice you call it like that

       http://localhost/GenricAjaxWS/GenricAjaxWS.asmx/GetData?sqlStr=select getdate()

       it returns XML DataSet.(of course 'select getdate()' is your sql select statement)

   or

   b-GenricAjaxHH: it is  you call it like that

    http://localhost/GenricAjaxWS/GenricAjaxWS.asmx/GetData?sqlStr=select%20getdate()

     but it works faster than Webservice(you must test it).

2]-to use GenricAjaxWS version use AjaxLibWS09b.js, to use  GenricAjaxHH version use AjaxLibhh09b.js

Details

The files(AjaxLibWS09b.js,AjaxLibHH09b.js) contains javascript function

called FillTable(mySelect,myDiv,myDataGridName,pageSize,sqlStr) it takes 5 parameters

1]-mySelect:dropdown list name(to filter datagrid).

2]-myDiv:html Div (to place grid on it).

3]-myDataGridName:datagrid name

4]-pageSize:count of rows in each datagrid page

5]-sqlStr:sql select statement.

there are another Function called FillTable(myDiv,myDataGridName,pageSize,sqlStr)

it works like the above but it doesn't take dropdown list name.

to use it you have to add this controls to you page

a]-add html hidden input called DataGrid1__PAGENUM.

b]-add html div and add id attribute to it(you will use this id).

c]-add any control to fire Fill function and add this line of code in page load

button1.Attributes.Add("onclick",
   "FillTable('oDiv','ClientPageDataGrid1',3, 
   'SELECT title,type,pub_id,price,advance FROM titles');");

while 'button1' is your control name

d]-add javascript file to project.

e]-add script tag in page head(in aspx) to map to script file.

and have fun.

Hints

there are some other functions

1]-FillTextBoxesFromDDLOnChange(mySelect,ar2,sqlStr):to fill a list of textboxes according to dropdown selection

DropDownList1.Attributes.Add("onchange",
   "FillTextBoxesFromDDLOnChange('DropDownList1',['TextBox1','TextBox2',
   'TextBox3','TextBox4','TextBox5'], 'SELECT title,type," + 
   "pub_id,price,advance FROM titles where title_id=');");

2]-FillDropDownFromDropDown(mySelect,mySelect2,sqlStr):to filter dropdown from another dropdown

DropDownList1.Attributes.Add("onchange", 
  "FillDropDownFromDropDown('DropDownList1','DropDownList2', 
   'SELECT fname,emp_id FROM employee WHERE pub_id=');");

3]-FillDDL(mySelect,sqlStr)&clearDDL(mySelect): to fill and clear dropdown.

 

Links

1-AJAX

2-Client-side paging for DataGrids

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Taha Amin

Team Leader
http://www.linkdev.com/
Egypt Egypt

Member

B/OSS.

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
Generalcode PinmemberMember #38040310:46 21 Feb '07  
GeneralUsing vb.net Pinmembernik_crash20:05 13 Sep '05  
GeneralSQL Injection Pinmemberbigals13:08 15 Aug '05  
Hi
 
your idea looks quite interesting, but your leaving yourself wide open to an injection attack...
GeneralRe: SQL Injection PinmemberTaha Zayed22:09 15 Aug '05  
GeneralRe: SQL Injection PinmemberMika23:51 16 Aug '05  
GeneralRe: SQL Injection PinmemberJohn Goodwin6:29 17 Aug '05  
GeneralRe: SQL Injection PinmemberTaha Zayed19:58 17 Aug '05  
GeneralRe: SQL Injection PinmemberTaha Zayed20:06 17 Aug '05  
GeneralRe: SQL Injection PinmemberTaha Zayed12:16 18 Aug '05  
GeneralRe: SQL Injection PinmemberMark Brandon4:08 25 Aug '05  
GeneralRe: SQL Injection PinmemberTaha Zayed4:33 25 Aug '05  
GeneralRe: SQL Injection PinmemberMark Brandon5:12 25 Aug '05  
GeneralRe: SQL Injection PinmemberTaha Zayed5:26 25 Aug '05  
GeneralRe: SQL Injection PinPopularmemberMark Brandon5:57 25 Aug '05  
GeneralRe: SQL Injection - encrypting javascript Pinmemberegozi137:01 14 Mar '06  
GeneralRe: SQL Injection - encrypting javascript PinmemberTaha Zayed20:49 14 Mar '06  
GeneralThis is not encryption, but merely encoding Pinmemberegozi136:03 15 Mar '06  
GeneralRe: This is encryption, but merely encoding PinmemberTaha Zayed7:22 15 Mar '06  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web01 | 2.5.120529.1 | Last Updated 12 Mar 2006
Article Copyright 2005 by Taha Amin
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid