欧美三区四区_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教程
欧美午夜aaaaaa免费视频| 最近2019中文免费高清视频观看www99 | 欧美精品 日韩| 114国产精品久久免费观看| 国产视频精品视频| 不卡一二三区| 久久99日本精品| 日韩欧美久久久| 蜜桃久久影院| 日韩欧美精品网址| 在线观看日韩欧美| 四虎精品欧美一区二区免费| 免费中文字幕在线观看| 亚洲第一论坛sis| 中文字幕一区二区三区视频| 欧美日韩国产二区| 久章草在线视频| 国产精品一区二区人人爽| 亚洲第一区色| 欧美日韩一区二区三区在线| 国产精品一区二区你懂得| 久久久久久久久久久久| 澳门成人av| 欧美高清在线视频| 久久久久中文字幕| 精品亚洲一区二区三区四区| 欧美 日韩 中文字幕| 蜜臀av性久久久久蜜臀aⅴ | 亚洲国产天堂久久国产91| 日韩av在线一区二区三区| 欧美成人免费看| 欧美精品一区二区三区中文字幕 | 99成人精品| 6080国产精品一区二区| 欧美亚洲精品日韩| 久久久久无码精品国产| 午夜激情视频在线播放| 免费观看特级毛片| 精品嫩草影院| 亚洲男人的天堂在线aⅴ视频| 欧日韩在线观看| 中文字幕第三区| 久久精品嫩草影院| 久久久久久一级片| 国内揄拍国内精品少妇国语| 波多野结衣免费观看| 97欧美成人| 久久久国产精品不卡| 911国产网站尤物在线观看| 人妻体体内射精一区二区| 亚洲精品毛片| 国产精品私人影院| 国产精品第8页| 性高潮久久久久久久| 任我爽精品视频在线播放| 一区二区高清在线| 91久久极品少妇xxxxⅹ软件| 久久久久人妻一区精品色| 成人动漫免费在线观看| 欧洲精品视频在线观看| 欧美亚洲免费高清在线观看 | 久久久国产成人精品| 五月婷婷丁香综合网| 国产成人午夜性a一级毛片| 国产午夜精品美女毛片视频| 日本精品一区二区三区在线播放视频| 久久久午夜精品福利内容| 成人香蕉社区| 激情久久av一区av二区av三区| 国产精品一国产精品最新章节| 国产精品9191| av成人天堂| 亚洲乱码av中文一区二区| 日本wwww视频| 欧美影视资讯| 波多野结衣加勒比| 久久99高清| 欧美综合在线视频| 在线视频福利一区| www.国产麻豆| 成人h动漫精品一区二| 欧美在线视频观看| 五月婷六月丁香| 亚洲91视频| 日韩欧美一级二级三级久久久| 国产手机免费视频| 另类专区亚洲| 中文字幕一区二区三区在线播放| 亚洲一区久久久| 久久精品视频久久| 久久在线精品| 久久精品国产亚洲精品2020| 国产调教打屁股xxxx网站| 国产色噜噜噜91在线精品| 色婷婷综合五月| 夜夜爽www精品| 亚洲欧美高清视频| 国产色婷婷亚洲99精品小说| 国产中文日韩欧美| 日本在线视频免费| 蜜臀久久久久久久| 九九热视频这里只有精品| 添女人荫蒂视频| 99久久激情| 亚洲大胆人体视频| 少妇一级淫免费放| 第四色在线一区二区| 欧美自拍偷拍一区| 无码人妻精品一区二区蜜桃网站| 欧美粗大gay| 亚洲欧美一区二区三区久本道91| 精品产品国产在线不卡| 中文字幕一级片| 91丝袜呻吟高潮美腿白嫩在线观看| 国产精品久久久久久久久免费 | 人妻视频一区二区| 国产精品porn| 日韩中文字幕在线精品| 亚洲av成人精品一区二区三区 | 老司机一区二区三区| 久色乳综合思思在线视频| 蜜桃精品成人影片| 黄色一区二区三区四区| 视频直播国产精品| 日本高清www| 亚洲国产高清一区| 久久国产精品久久久久| 韩国三级hd中文字幕| 精品二区久久| 久久久极品av| 免费成人深夜天涯网站| 欧美亚洲在线| 性色av一区二区三区免费| 在线观看美女av| 蜜臀av性久久久久蜜臀aⅴ| 日本一区二区不卡| 国产欧美日韩另类| 成人精品国产一区二区4080| 成人av在线天堂| 最新黄色网址在线观看| 91麻豆国产香蕉久久精品| 粉嫩av免费一区二区三区| 国产精品欧美综合亚洲| 国产精品福利影院| 先锋影音一区二区三区| 日本精品在线中文字幕| 色综合天天综合狠狠| 91成人在线观看喷潮教学| 成人性生交大片免费看96| 日韩午夜激情视频| 日本黄色一级网站| 亚洲综合专区| 久久国产精品电影| 麻豆疯狂做受xxxx高潮视频| 国产精品自拍一区| 91久久精品www人人做人人爽| 国产精品毛片久久久久久久av| 亚洲素人一区二区| 佐佐木明希av| 天堂va在线高清一区| 欧美一区二区三区四区久久| 在线免费黄色小视频| 综合色一区二区| 欧美日韩不卡合集视频| 欧美激情一区二区视频| 丁香婷婷综合色啪| 国产在线资源一区| 奇米777日韩| 日本乱人伦一区| 国产三级国产精品国产专区50| 久久精品不卡| 久久色免费在线视频| 亚洲熟女www一区二区三区| 国产精品一区二区果冻传媒| 国产高清自拍一区| 神马电影网我不卡| 欧美日韩二区三区| 韩国三级在线播放| 中文欧美日韩| 国产大片精品免费永久看nba| 在线观看亚洲天堂| 国产精品入口麻豆原神| 波多野结衣三级在线| 盗摄牛牛av影视一区二区| 日韩精品视频在线播放| 欧美另类z0zx974| 国产精品一区不卡| 免费看污久久久| 人人精品久久| 精品福利在线导航| 鲁大师私人影院在线观看| 蜜桃在线一区二区三区| 97超碰人人看人人| 欧美第一视频| 欧美一区午夜精品| 久久人妻一区二区| 久久国产精品72免费观看| 成人做爰66片免费看网站| 裤袜国产欧美精品一区| 欧美一二区视频| 亚洲最大成人综合| 久久午夜夜伦鲁鲁一区二区| 午夜国产精品视频| 日本三级久久久| www三级免费| 欧美性大战久久久久久久蜜臀| 四虎1515hh.com| 视频一区二区三区在线| 国产成人在线免费观看| 精品国产91亚洲一区二区三区婷婷 | 深夜福利视频网站| 欧美色视频在线| 在线播放第一页| 美女国产一区二区三区| 国产欧美日韩综合一区在线观看 | 日本二区三区视频| 26uuuu精品一区二区| 激情五月六月婷婷| 国产精品久久久久无码av| 欧美在线性视频| 性欧美18一19性猛交| 欧美色视频在线观看| 亚洲午夜福利在线观看| 成人av免费网站| 中文字幕免费高| 精品黄色一级片| 欧美又大又粗又长| 欧美 日韩 国产 在线| 91精品国产综合久久精品性色| 国产色视频一区二区三区qq号| 国产成人免费视频一区| 亚洲欧洲日韩精品| 啪啪亚洲精品| 欧美在线视频一区| 天堂在线视频免费| 精品国产3级a| 九九久久免费视频| 亚洲乱码中文字幕| 91高清国产视频| 蜜桃视频在线观看一区二区| 欧美极品视频一区二区三区| 日韩极品在线| 97视频在线观看免费高清完整版在线观看 | 国产性猛交╳xxx乱大交| 一区二区三区资源| 天天影视色综合| 蜜桃av噜噜一区| 亚洲精品一区二区三区四区五区| 欧美男gay| 日韩**中文字幕毛片| 欧美粗大gay| 亚洲小视频在线| 懂色av中文字幕| 在线观看三级视频欧美| 阿v天堂2014| 国产精品久久久久影院色老大 | 成人深夜福利app| 91网站在线观看免费| 国产精品二区影院| 国产伦精品一区二区| 欧美美女在线直播| 日本不卡免费高清视频| 婷婷六月国产精品久久不卡| 亚洲欧美一区二区激情| 成人免费一级片| 欧美巨大另类极品videosbest| 天堂网中文在线观看| 亚洲女与黑人做爰| 91丝袜在线观看| 久久噜噜亚洲综合| 福利在线一区二区三区| 狠狠色2019综合网| a级黄色片免费| 国产91porn| 亚洲欧洲日本mm| 免费不卡亚洲欧美| 色777狠狠狠综合伊人| 亚洲一区二区久久久久久| 国产精品chinese在线观看| 91av网站在线播放| 成人国产综合| 色在人av网站天堂精品| 日本黄色大片视频| 国产一区二区三区日韩欧美| 91av久久久| 亚洲第一精品久久忘忧草社区| 国产精品男女视频| 欧美男生操女生| 日韩激情一区二区三区| 在线欧美一区二区| 在线免费日韩av| 色婷婷国产精品久久包臀| 国产三级精品三级观看| 亚洲成av人片在线观看| 91狠狠综合久久久久久| 一区二区三区视频在线看| 欧美一区二区三区成人精品| 成人欧美一区二区三区小说| 中文字幕乱视频| 国产精品福利一区二区三区| 国产二级一片内射视频播放| 国产精品久久久久久久久晋中 | 中文久久乱码一区二区| 亚洲成a人片在线www| 国产欧美精品一区二区三区四区 | 精品动漫一区二区三区在线观看| 久草手机在线观看| 欧美一区二区三区免费大片| 久久国产黄色片| 精品国产免费视频| 97精品人妻一区二区三区在线| 亚洲成人久久电影| 国产精品欧美激情在线| 亚洲一区二区黄| 深夜福利视频网站| 欧美贵妇videos办公室| 日韩成人在线一区| 人人澡人人澡人人看欧美| 亚洲综合网站| 成人免费视频网| 国产午夜一区| 国产一区高清视频| 欧美 日韩 国产一区二区在线视频| 日本精品一区二区| 在线成人h网| 免费观看国产视频在线| 免费观看日韩av| 免费在线观看毛片网站| 99精品视频在线播放观看| 国内av免费观看| 亚洲视频免费看| 懂色av粉嫩av蜜臀av一区二区三区| 日韩欧美中文在线| 91精品国产高潮对白| 日韩一级高清毛片| 国产精品毛片久久久久久久av| 中文字幕视频在线免费欧美日韩综合在线看| 免费a视频在线观看| 欧美激情一级欧美精品| 免费看一区二区三区| 成人激情在线播放| 天天超碰亚洲| 在线不卡日本| 激情综合网av| 亚洲综合婷婷久久| 国产精品福利一区| 色哟哟一一国产精品| 欧美精选一区二区| 国产精品欧美激情在线| 久久精品国产久精国产思思| 国产黄色精品| 国产精自产拍久久久久久蜜 | 激情小说综合区| 亚洲三级电影在线观看| 成品人视频ww入口| 91影院在线观看| 久久精品老司机| 色综合天天天天做夜夜夜夜做| 国产一区 在线播放| 日韩专区视频| 日本欧美一二三区| 成人av国产| 一区中文字幕在线观看| 国产精品亚洲а∨天堂免在线| 8x8x成人免费视频| 一区二区三区在线观看动漫| 欧美日韩人妻精品一区二区三区| 日韩美女视频一区二区在线观看| 成人久久精品人妻一区二区三区| 久久久久久久电影一区| 婷婷激情久久| 日韩一区免费观看| 久久99精品久久久久久动态图| 一区二区久久精品| 亚洲第一主播视频| yjizz国产| 日韩在线www| av成人资源| 欧美一区二区福利| 黑人巨大精品欧美一区| 少妇性l交大片7724com| 天天影视色香欲综合网老头| 欧美a视频在线观看| 色婷婷av一区二区三区在线观看 | 久久久久亚洲av成人片| 亚洲精品久久久久久下一站 | 国产精品丝袜在线| 国产精品九九九九九九| 日韩av在线直播| 激情亚洲小说| 国产精品综合久久久久久| 三级亚洲高清视频| 亚洲成人av免费观看| 欧美午夜无遮挡| 国产口爆吞精一区二区| 孩xxxx性bbbb欧美| 99精品美女| 成年人网站免费视频| 1024成人网| 午夜婷婷在线观看|