麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > AJAX > 正文

利用jQuery及AJAX技術定時更新GridView的某一列數據

2024-09-01 08:33:06
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了利用jQuery及AJAX技術定時更新GridView的某一列數據的方法,這里的GridView是指C#軟件開發中的GridView控件,需要的朋友可以參考下
 

看到一個問題:定時更新GridView的某一列中的狀態文本。馬上就有了思路:GridView最后會生成表格,所以我們在頁面中通過Ajax更新表格的列,從而達到ajax更新GridView的效果。

具體實現:

準備一個xml文件,用于存儲要更新的數據,在頁面中啟動一個定時器,每隔5秒鐘調用一個函數,函數里邊通過$.ajax獲取xml中的數據,解析xml,遍歷表格行,匹配要更新的數據,更新。

getuserlist.xml

定義一個UserList的根節點,下邊每個UserItem對應一條數據,UID可以理解成主鍵,UStatus是最新的狀態。

<?xml version="1.0" encoding="utf-8" ?><UserList><UserItem><UID>1</UID><UStatus>關閉</UStatus></UserItem><UserItem><UID>2</UID><UStatus>關閉</UStatus></UserItem><UserItem><UID>3</UID><UStatus>開放</UStatus></UserItem></UserList>

test.html

具體的邏輯都寫到這里邊了。

<html> <head> <title>Ajax Update Table Column</title> <script src="jquery-1.3.1.min.js" type="text/javascript"></script> <script type="text/javascript">  window.onload=function(){  //每隔5秒檢查一下數據  window.setInterval(checkStatus,5000);  };   //檢查數據  function checkStatus(){  //ajax請求數據  $.ajax({   //換成你的文件,構造xml格式的數據就行了  url: 'getuserlist.xml',  //請求類型  type: 'GET',  //數據格式  dataType: 'xml',  //超時時間:1秒  timeout: 2000,  //加載數據發生錯誤  error:function (XMLHttpRequest, textStatus, errorThrown) {   alert("XMLHttpRequest="+XMLHttpRequest.responseText+"/ntextStatus="+textStatus+"/nerrorThrown="+errorThrown);  },  //成功加載數據  success: function(xml){//遍歷表格的行,需要給表格定義一個ID   $("#userListTable tr").each(function(){//獲取行的第一列,這里邊保存了XML中對應的UID信息    var trID=$(this).find("td").eq(0).text();//數據的新狀態    var trStatus="";//遍歷xml中的UserItem    $(xml).find("UserList > UserItem").each(function(){//獲取UID和UStatus的值   var uid = $(this).find("UID").text();   var ustatus = $(this).find("UStatus").text();//比對當前行的ID和UID,如果相等,給數據的新狀態賦值    if(trID==uid){     trStatus=ustatus;    }    });//如果數據的新狀態不為空,則更新單元格中現實的文本    if(trStatus!=""){   $(this).find("td").eq(2).text(trStatus);    }   });  }   });  } </script> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body><!--這個表格有三列ID:數據的ID,相當于主鍵,用于從xml中查詢新數據Name:只是顯示Status:要更新的列--> <table border="1" id="userListTable">  <tr><th>ID</th><th>Name</th><th>Status</th></tr>  <tr><td>1</td><td>張三</td><td>開放</td></tr>  <tr><td>2</td><td>李四</td><td>開放</td></tr>  <tr><td>3</td><td>王五</td><td>開放</td></tr> </table> </body></html>

最后將所需文件放到一個可以瀏覽的站點下邊,打開test.html。
等待5秒鐘,就可以看到效果了。

因為IE的問題,直接在文件夾下打開會出現不能解析xml文件(parsererror)的問題,所以建議放到可以運行的站點下邊,或者用別的瀏覽器打開。

PS:GridView 是 DataGrid的后繼控件,在 framework 2 中,雖然還存在DataGrid,但是GridView已經走上了歷史的前臺,取代DataGrid的趨勢已是勢不可擋。GridView和DataGrid功能相似,都是在web頁面中顯示數據源中的數據,將數據源中的一行數據,也就是一條記錄,顯示為在web頁面上輸出表格中的一行。
GridView相對于DataGrid來說,具有如下優勢,功能上更加豐富,因為提供了智能標記面板(也就是show smart tag)更加易用方便,常用的排序、分頁、更新、刪除等操作可以零代碼實現!具有PagerTemplate屬性,可以自定義用戶導航頁面,也就是說分頁的控制更加隨心所欲。GridView和DataGrid在事件模型上也多有不同之處,DataGrid控件引發的都是單個事件,而GridView控件會引發兩個事件,一個在操作前發生,一個在操作后發生,操作前的事件多位***ing事件,操作后的事件多位***ed事件,比如Sorting 事件和sorted 事件,RowDeleting和RowDeleted事件。
Listview和Gridview的刷新界面的方式是調用adapter.notifyDataSetChanged()進行界面刷新。
但是此方法有其弊端,他是將界面中的數據全部刷新一遍,不論數據有沒有變化。



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 激情夜色| 一级做a爱片久久毛片a高清 | 亚洲精品欧美在线 | 精品一区二区在线观看视频 | 午夜色视频在线观看 | 92看片淫黄大片欧美看国产片 | 国产91小视频在线观看 | 国产毛片毛片 | 欧美精品成人一区二区在线观看 | av在线免费观看网站 | 双性帝王调教跪撅打屁股 | 欧美成人高清视频 | 91精品成人福利在线播放 | 韩国十九禁高潮床戏在线观看 | 欧美人人干 | 草草视频免费观看 | 精品国产一区二区久久 | 涩涩伊人 | 久久久www成人免费精品 | 毛片免费视频播放 | 欧美黄一级 | 欧美性生活免费视频 | 日本中文字幕久久 | 欧美顶级毛片在线播放小说 | 欧美激情性色生活片在线观看 | 精品中文字幕久久久久四十五十骆 | 精品在线视频播放 | 国产在线观看91精品 | 91福利在线观看 | 刘亦菲一区二区三区免费看 | 欧美日韩免费一区 | 最新中文在线视频 | 黄色大片在线免费看 | 日韩精品久久久久久久电影99爱 | 欧美极品欧美精品欧美视频 | 狠狠干导航 | 鲁丝一区二区三区不属 | 欧美日韩亚洲国产精品 | 亚洲网站在线观看视频 | 99精品国产成人一区二区 | 国产精品入口夜色视频大尺度 |