欧美三区四区_av先锋影音资源站_亚洲第一论坛sis_影音先锋2020色资源网_亚洲精品社区_在线免费观看av网站_国产一区二区伦理_亚洲欧美视频一区二区_99视频精品全部免费在线_精精国产xxxx视频在线

使用ExtJS GridPanel從Web Service 獲取、綁定和顯示數據_.Net教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:用Xaml做網頁框架
下面就開始編寫XAML,首先來定義一下頁面的屬性: 以下為引用的內容: <Page xmlns="http://schemas.microsoft

本文將向大家介紹一種使用 ExtJS 的 GridPanel 組件從 ASP.NET Web Service 獲取 XML 數據并進行綁定和顯示的方法。

GridPanel 組件在進行數據綁定時可以接收多種數據格式。其中以 JSON 和 XML 最為常見。如果要給 GridPanel 綁定 JSON 格式的數據(這也是網上“通用”和“熱門”的解決方案),那么我們需要修改 Web Service 的 Web.config 設置,將輸出數據的格式改為 JSON(默認為 XML。設置方法可參見:http://www.cnblogs.com/regedit/archive/2008/03/04/1089948.html 一文)。

個人認為此方法過于繁瑣,為了保證對現有的 Web Service 不做較大的調整,我決定還是繼續讓其返回 XML 格式的數據。因此在對 GridPanel 進行數據綁定時就要選用 XML 方式綁定了。也就是說,我們在綁定數據時要使用 Ext.data.XmlReader 而不是 Ext.data.JsonReader。具體的實現方法如下:

1. Web Service 部分:

以下為引用的內容:

using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class ArticleService : System.Web.Services.WebService {

// SQL 連接字符串
private readonly string _strConn = ConfigurationManager.ConnectionStrings["Junchieh"].ConnectionString;

// 從 start 開始 limit 行,按 sort 字段排序,排序方式為 dir(將傳入 "asc" 或 "desc")
[WebMethod]
public DataSet GetArticles(int start, int limit, string sort, string dir)
{
DataSet ds = new DataSet("Article");

// 從數據庫獲取數據,放入 record 表
string strSql = string.Format(
"select top {0} * from Article where Id not in (select top {1} Id from Article order by {2} {3}) order by {2} {3}",
limit, start, sort, dir);
SqlDataAdapter da = new SqlDataAdapter(strSql, _strConn);
DataTable dtRecord = new DataTable("record");
lock (da)
{
da.Fill(dtRecord);
}
ds.Tables.Add(dtRecord);

// 計算總行數,放入 results 表
DataTable dtResult = new DataTable("results");
dtResult.Columns.Add("totalRecords");
DataRow dr = dtResult.NewRow();
using (SqlConnection conn = new SqlConnection(_strConn))
using (SqlCommand cmd = new SqlCommand("select count(*) from Article", conn))
{
try
{
conn.Open();
dr["totalRecords"] = (int)cmd.ExecuteScalar();
}
catch
{
// do nothing
}
}
dtResult.Rows.Add(dr);
ds.Tables.Add(dtResult);

return ds;
}
}

GetAritcles 將返回一個 DataSet。其內包括兩個 DataTable,第一個存放了(跟據 start 和 limit 參數指定的)當前頁的數據,另一個存放了數據庫中所有數據的行數,供客戶端的 GridPanel 組件使用。客戶端部分(節選):

以下為引用的內容:

<script type="text/javascript">
Ext.onReady(function(){
// 列
var cm = new Ext.grid.ColumnModel([
{header:'ID', dataIndex:'Id', sortable:true, width:10},
{header:'標題', dataIndex:'Title', sortable:true},
{header:'日期', dataIndex:'Date', sortable:true, width:50, renderer:renderDate} // 在 renderDate 函數中格式化
]);

// 數據源
var store = new Ext.data.Store({
url: 'Services/ArticleService.asmx/GetArticles', // Web Service 地址
reader: new Ext.data.XmlReader(
{
totalRecords: 'totalRecords', // 數據總行數。對應于 GetArticles 返回的 DataSet 中的 results 表的 totalRecores 列
record: 'record', // 數據。對應于 GetArticles 返回的 DataSet 中的 record 表
id: 'Id' // 主鍵。對應于 GetArticles 返回的 DataSet 中的 record 表的 Id 列
},
[
{name: 'Id'},
{name: 'Title'},
{name: 'Date'}
]
),
remoteSort: true // 服務端排序
});
store.setDefaultSort('Date', 'desc'); // 默認按 Date 列降序排列

// 分頁欄
var bbar = new Ext.PagingToolbar(
{
pageSize: 4,
store: store,
displayInfo: true,
displayMsg: '當前顯示 {0} - {1} 條,共 {2} 條',
emptyMsg: "無數據"
}
);

// GridPanel 組件
var grid = new Ext.grid.GridPanel({
frame: true,
enableHdMenu: false,
width :600,
height:300,
title:'文章列表',
loadMask: {msg:'正在加載數據,請稍侯……'},
el: 'grid',
store: store,
cm: cm,
bbar: bbar,
viewConfig: {
forceFit:true
}
});
grid.render();
store.load({params:{start:0,limit:4}}); // 初始時顯示第 1 頁,每頁顯示 4 條數據
});

// 格式化日期
// 將 XML 數據中的原始日期數據(如:2008-04-07T14:39:41.02 08:00)格式化成可讀的日期(如:2008-04-07 14:39:41)
function renderDate(value)
{
var reDate = /\d{4}\-\d{2}\-\d{2}/gi;
var reTime = /\d{2}:\d{2}:\d{2}/gi;
return value.match(reDate) " " value.match(reTime);
}
</script>

<!-- GridPanel 組件的顯示位置 -->
<div id="grid" style="height:300px; margin:auto;"></div>

從 Web Service 中由 GetArticles 方法返回的是 XML 數據。在將數據綁定到 Ext.data.Store 組件時應使用 Ext.data.XmlReader 而不是網上經常看到的 Ext.data.JsonReader。綁定時我們需要“告訴” XmlReader 在 XML 數據中哪些節點代表數據條目(本例為“record”),哪個節點代表數據總數(本例為“totalRecords”),以及數據的主鍵節點 (本例為“Id”)。您可以通過下圖來理解 XmlReader 的數據綁定過程:

另外,從上圖中的 XML 數據可以看出,日期(Date)的格式比較“丑陋”,如果不加修飾的話將會原樣顯示于客戶的 GridPanel 組件中。因此在客戶端顯示數據之前,需要對日期數據進行一下加工。在創建 Ext.grid.ColumnModel 時為 Date 列指定 renderer(注意加粗部分):

{header:'日期',dataIndex:'Date',sortable:true,width:50, renderer: renderDate}

代碼中的“renderDate”是一個 JavaScript 函數,定義如下:

以下為引用的內容:
function renderDate(value)
{
var reDate = /\d{4}\-\d{2}\-\d{2}/gi;
var reTime = /\d{2}:\d{2}:\d{2}/gi;
return value.match(reDate) " " value.match(reTime);
}

此函數中的 value 參數即為原始的日期數據,由 Ext.grid.ColumnModel 傳入。在函數中使用正則表達式分別提取日期數據中的“日期”和“時間”部分,拼接后返回。

整個程序執行后的運行界面如下圖所示:

分享:校內網API的.net版本XiaoNei.Net 1.0(非官方)
校內API開放也有一段時間了,也沒有太關注,正好新版本的SNS開發到了API這一塊,正好借鑒一下XiaoNei,FB,MySpace的API。 且聞校內API比較有前途,最近的API編程大賽也比較火,而且人氣也較

來源:模板無憂//所屬分類:.Net教程/更新時間:2008-08-22
相關.Net教程
亚洲精品mv| 天天操狠狠操夜夜操| 日本熟伦人妇xxxx| 一本久久青青| 中文一区一区三区高中清不卡| 亚洲人永久免费| 日本视频一区二区不卡| 国产传媒视频在线 | 亚洲女成人图区| 日韩精品久久久毛片一区二区| 可以免费看av的网址| 亚洲精品视频一二三区| 91美女片黄在线观看91美女| 中文字幕9999| 日韩视频在线视频| 一级黄色在线观看| 国产一区二区三区四区三区四 | 欧美日韩大陆在线| 午夜激情久久| 精品一区二区三区蜜桃| 亚洲成人aaa| 先锋影音一区二区三区| 伊人365影院| 欧美亚洲国产精品久久| 亚洲高清中文字幕| 国产精品三级网站| 韩国无码一区二区三区精品| 成人免费观看49www在线观看| 成人av在线播放网站| 最新中文字幕亚洲| 欧美 国产 综合| 国产区精品在线| 日本在线不卡一区| 亚洲аv电影天堂网| 在线码字幕一区| 91在线视频在线观看| 欧美暴力喷水在线| 在线观看国产日韩| 极品日韩久久| 国产一级二级三级视频| 亚洲视频在线免费| 欧美午夜精品电影| 欧美精品成人一区二区在线观看 | 国产福利一区二区三区在线视频| 亚洲欧美国产精品久久久久久久| 人妻激情另类乱人伦人妻| 中文字幕一区二区免费| 丝袜a∨在线一区二区三区不卡 | 青青青在线视频播放| 91成人一区二区三区| 日本亚洲天堂网| 亚洲欧美国产精品| 日韩精品视频久久| 亚州精品国产精品乱码不99按摩| 国产成人av一区| 久久香蕉国产线看观看av| 992kp快乐看片永久免费网址| 天天干天天插天天操| 成人精品视频一区二区三区| 久久在线观看视频| 欧美激情国内自拍| 国产精品日韩精品在线播放| 国产精品国产自产拍高清av| 国产精品三级久久久久久电影| 欧美丰满美乳xxⅹ高潮www| 欧洲杯足球赛直播| 日韩欧美在线免费观看| 麻豆91蜜桃| 久久久久久少妇| 免费日韩视频| 亚洲日本成人女熟在线观看 | 美女视频一区二区三区| 一区二区三区黄色| 日本888xxxx| 中文成人在线| 一区二区三区四区不卡在线 | 激情综合激情五月| 欧美电影在线观看完整版| 午夜久久久影院| 欧美精品欧美精品| 欧美特级黄色片| 精品一区二区三区免费观看 | 国产成人精品视频在线| 少妇无套高潮一二三区| 久久综合成人| 日韩免费福利电影在线观看| 99在线精品免费视频| 国产精品专区免费| 国产精品女同一区二区三区| 亚洲一区二区中文字幕| 亚洲国产精品成人无久久精品| 国产亚洲在线| 中文字幕日韩在线播放| 韩国三级丰满少妇高潮| 女同一区二区三区| 在线观看欧美黄色| 日韩精品免费一区| 欧美自拍电影| 一区二区视频在线看| 久久精品aaaaaa毛片| 波多野结衣一二区| 国产盗摄精品一区二区三区在线| 97人人做人人爱| 91av手机在线| 国产精品视区| 中文字幕不卡在线视频极品| 国产老头和老头xxxx×| 国产乱码精品一区二区亚洲| 91精品欧美一区二区三区综合在 | 尤物av一区二区| 久久综合中文色婷婷| 91免费视频播放| 91麻豆福利精品推荐| 91精品视频网站| 日韩三级视频在线| 韩国一区二区在线观看| 欧美在线精品免播放器视频| 韩国一级黄色录像| 欧美一区=区| 久久久久久国产精品久久| 嘿嘿视频在线观看| 国产欧美日韩一区二区三区在线| 久久精品国产91精品亚洲| 中文字幕影片免费在线观看| 亚洲激情五月| 一道本无吗dⅴd在线播放一区| 国产调教打屁股xxxx网站| 日本a级不卡| 国产丝袜一区视频在线观看| 人妻少妇偷人精品久久久任期| 精品国产乱码久久久| 亚洲第一福利网| 亚洲国产综合av| 天天射—综合中文网| 亚洲男人第一av网站| 中文字幕在线视频播放| 中文字幕av亚洲精品一部二部| 国产亚洲欧美aaaa| 免费a级黄色片| 亚洲乱码久久| 欧美高清电影在线看| 秋霞欧美一区二区三区视频免费| 日日骚欧美日韩| 欧美中文字幕视频| 国产黄色片视频| 成人午夜在线视频| 亚洲一区中文字幕在线观看| 亚洲国产无线乱码在线观看| 久久欧美中文字幕| 久久伊人资源站| 无码国产精品一区二区色情男同| 亚洲成a人片综合在线| av电影一区二区三区| 在线高清欧美| 欧美一区二区三区在线观看| 九九热99视频| 久久久久亚洲| 久久精品国产亚洲精品2020| 91免费在线看片| 久久aⅴ国产欧美74aaa| 国产欧美精品一区二区三区-老狼| 午夜精品久久久久久久蜜桃| 欧美国产精品专区| 亚洲欧洲久久| 国模大尺度视频一区二区| 6080日韩午夜伦伦午夜伦| 一级 黄 色 片一| 欧美国产免费| 欧美激情乱人伦一区| 国产精品a成v人在线播放| 成人精品小蝌蚪| 精品一区久久| 免费观看成人性生生活片| 欧美性色黄大片| 色婷婷一区二区三区av免费看| 91综合视频| 欧美精品在线看| 日本少妇bbwbbw精品| 91麻豆国产福利在线观看| 色一情一区二区三区四区| 日韩黄色三级| 亚洲精品一区二区精华| 国产乱了高清露脸对白| 日韩av中文字幕一区二区| 国产综合久久久久久| 亚洲精品一区二区口爆| 欧美性高跟鞋xxxxhd| 亚洲欧美国产中文| 影音先锋久久| 国产精品久久久久久av福利软件 | 日本网站在线看| 亚洲激情社区| 国产福利精品视频| 国产精品资源网站| 日韩视频在线免费观看| 国产精品久久久久久久精| 国产成人精品免费| 麻豆亚洲一区| 中文字幕综合| 亚洲国产欧美一区二区三区同亚洲 | 日韩一区在线免费观看| 亚洲熟妇无码av在线播放| 九九热爱视频精品视频| 久久精品一偷一偷国产| 国产在线观看免费av| 中文字幕免费不卡| 久久久久久www| 国产精品99在线观看| 久久人人爽人人爽人人片av高请| 男人天堂视频网| 亚洲精品亚洲人成人网在线播放| 男人日女人bb视频| 欧美1区免费| 国产精品九九久久久久久久| 亚洲精品字幕在线| 欧美日韩aaaaa| 少妇饥渴放荡91麻豆| 国产麻豆日韩欧美久久| 欧美日韩三区四区| 岛国精品一区| 久久夜精品香蕉| 91丨九色丨海角社区| 亚洲成人av福利| 国内自拍第二页| 玖玖玖国产精品| 国产精品美女黄网| 国产精品毛片无码| 中文字幕在线观看亚洲| 久久人妻免费视频| 亚洲超碰97人人做人人爱| 男生操女生视频在线观看| 久久亚洲不卡| 国产尤物99| 亚洲精品在线a| www.色综合| 中文字幕天堂在线| 色偷偷久久一区二区三区| 国产精品熟妇一区二区三区四区| 国产在线观看一区二区| 亚洲欧美国产不卡| 日本在线电影一区二区三区| 国产不卡在线观看| 国产欧美一区二区三区精品酒店| 亚洲国产精久久久久久久| 欧美xxxx黑人xyx性爽| 《视频一区视频二区| 婷婷激情四射五月天| 视频一区欧美精品| 欧美在线视频一区二区三区| 曰本一区二区三区视频| 91sa在线看| 五月婷婷开心中文字幕| 亚洲国产日韩欧美在线动漫| 国产真实乱人偷精品视频| 亚洲成人你懂的| 中文字幕三级电影| 99视频在线精品| 国产69精品久久久久久久| 亚洲激情二区| 国产一区再线| 亚洲欧洲美洲国产香蕉| 欧洲成人免费aa| 高清成人在线| 国产一区二区三区视频| 中国精品一区二区| 欧美日韩精品欧美日韩精品一综合 | 国产精品qvod| 欧美亚州一区二区三区| 国产伦精品一区二区三区视频金莲| 亚洲欧美制服丝袜| 中文字幕一区二区人妻痴汉电车| 91麻豆精品国产91久久久久| 亚洲色图综合区| 午夜视频在线观看一区| 美女又爽又黄视频毛茸茸| 国产日韩欧美a| 日韩一区二区三区久久| 国产成+人+日韩+欧美+亚洲| 黄色网页免费在线观看| 石原莉奈在线亚洲三区| 影音先锋亚洲视频| 精品动漫3d一区二区三区免费版| 精品久久蜜桃| 99视频精品全国免费| αv一区二区三区| 久久99国产精品视频| 国产日韩一区在线| 国产精品22p| 国产精品久久久久影院日本| 97成人在线| 日本精品免费观看| 日本一区二区三区电影免费观看| 国产做受高潮69| 99亚洲伊人久久精品影院| 欧美成年人视频| 中文字幕不卡三区视频| 精品国偷自产在线视频| 天天综合天天色| 色诱女教师一区二区三区| 亚洲经典一区二区| 在线看日韩av| 日韩在线观看视频一区二区三区| 一区二区欧美日韩视频| 东京干手机福利视频| 一道本无吗dⅴd在线播放一区| 国产高清视频免费观看| 538任你躁精品视频网免费| 色国产精品一区在线观看| 青青青在线免费观看| 色婷婷亚洲婷婷| 天堂资源在线播放| 欧美日韩高清在线播放| 国产欧美日韩另类| 91精品国产aⅴ一区二区| aaaaaa毛片| 亚洲成人中文字幕| 国产视频第一页| 一区二区三区 在线观看视| 亚洲美女性生活| 久久亚洲欧美日韩精品专区 | 久久精品一区二区国产| 四虎4hu永久免费入口| 欧美aaa在线| 日本网站免费在线观看| 成人中文字幕在线| 五月六月丁香婷婷| 中文字幕精品在线不卡| 国产激情视频网站| 一区二区三区四区高清精品免费观看 | 日本中文一区二区三区| aa在线免费观看| 不卡的电视剧免费网站有什么| 日本人dh亚洲人ⅹxx| 国产精品成人一区二区艾草| 免费看裸体网站| 欧美性开放视频| 久久午夜免费视频| 精品国产91洋老外米糕| www.蜜桃av.com| 久久国产精品久久久久久久久久| 亚洲精品一区av| 成人精品一区二区三区| 97精品中文字幕| 一本色道婷婷久久欧美 | 亚洲欧美一区二区激情| 色欲av伊人久久大香线蕉影院| 欧美高清无遮挡| www.亚洲一二| 成人看片视频| 亚洲第一黄色| 久久久久免费看黄a片app| 99精品视频一区二区| 亚洲中文字幕一区| 精品欧美激情精品一区| 毛片视频网站在线观看| 亚洲乱亚洲乱妇无码| 成人免费直播| 国产成人精品最新| 不卡av一区二区| 亚洲日本一区二区三区在线不卡| 久久99精品网久久| 亚洲制服中文字幕| 亚洲线精品一区二区三区| 国产在线成人精品午夜| 亚洲精品国精品久久99热| 成人小电影网站| 国产精品久久久久久久久久小说 | 精品网站999www| 亚洲高清黄色| 国产精品久久久久久久一区探花| 久久国产精品亚洲人一区二区三区 | 中文字幕亚洲在线| 国产精品一区二区三区四区在线观看 | 婷婷成人影院| 亚洲欧洲日本国产| 国产91丝袜在线观看| 三级视频网站在线观看| 91成人在线免费观看| 亚洲视频久久久| 欧美高清不卡在线| 国产伦精品一区二区三区千人斩| 中文字幕一区二区三区乱码| 成人免费视频网站在线观看| 91精品人妻一区二区| 欧美日韩国产一级片| 亚洲精品911| 国产精品99免视看9| 欧美91大片| 免费大片在线观看| 亚洲精品国产无天堂网2021 | 国产精品亚洲午夜一区二区三区 | 婷婷夜色潮精品综合在线| 亚洲免费在线视频观看| 色偷偷av亚洲男人的天堂| 中文字幕日韩在线| 欧美12av| 国产剧情在线观看一区二区| 久久久国产精品无码| 欧美精品久久99久久在免费线| 人妻精品无码一区二区|