此只能比較兩者的功能優(yōu)劣,實現(xiàn)某種功能、效果的方便性和效率。首先分別粗略介紹XtraGrid和jqGrid
站在用戶的角度思考問題,與客戶深入溝通,找到沙依巴克網站設計與沙依巴克網站推廣的解決方案,憑借多年的經驗,讓設計與互聯(lián)網技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網站、網站制作、企業(yè)官網、英文網站、手機端網站、網站推廣、域名注冊、網頁空間、企業(yè)郵箱。業(yè)務覆蓋沙依巴克地區(qū)。DevExpress是目前.net下最為強大和完整的UI控件庫, XtraGrid是這個控件庫中重要的控件之一。在XtraGrid中集成了大量的高級特征,所以使用它進行開發(fā)的人員只需要對其屬性進行簡單的設置或編 寫少量的代碼,就能創(chuàng)建出十分美觀的界面,從而使開發(fā)的工作效率大幅提高。
特點如下
完全支持ADO.NET,一閃而過的數(shù)據(jù)裝入速度,XtraGrid充分利用內建的ADO.NET功能。使用這些新的數(shù)據(jù)訪問架構并且內部數(shù)據(jù)模塊與數(shù)據(jù)表達分離,在任何數(shù)據(jù)裝入模式下XtraGrid不 使用任何額外的緩沖,即使當列分組時,XtraGrid使用很小的內存并執(zhí)行請求操作與從數(shù)據(jù)源獲取數(shù)據(jù)一樣快速。
高級非綁定模式支持 , XtraGrid可以和所有支持List或ITypedList以及其繼承接口一起工作。
帶狀的/漂亮的列, 當屏幕顯得很很珍貴時,您能夠用帶狀列大化可見列的數(shù)量呈現(xiàn)給客戶。您甚至非常容易和簡單地能夠在列頭顯示圖像。
自動數(shù)據(jù)分組并支持連接點分組 ,允許您的用戶分組儲存在XtraGrid中的數(shù)據(jù),而且列無限制,使他們能夠從未有過的分析和編輯信息功能。
自動列分組,利用XtraGrid,您能夠排序無限制數(shù)量的列,不需要寫一行代碼;
自動數(shù)據(jù)過濾 , 通過類似Excel風格的過濾特征,您能夠基于列內容過濾數(shù)據(jù) - 任何列。過濾表達式甚至可以顯示在網格的底部,提醒您的用戶他們正在查詢什么內容。您還能夠創(chuàng)建您自定義的過濾對話框匹配用戶需要的過濾特征。
真正主細數(shù)據(jù)支持(Master-Detail) , XtraGrid允許您在綁定或非綁定模式下建立和表示主細(master-detail)信息,您甚至能夠使用下拉模式放縮每個細項級,允許簡單的維護最復雜的關系設置。
CustomDraw自定義繪制, 需要繪制任何Grid對象 - 行、列頭等?用XtraGrid沒問題,只有您的想象是限制。
高級設計時支持 , XtraGrid提供高級的設計時編輯器,允許您控制所有XtraGrid的外觀而不需要寫任何一行代碼。使用高級設計時支持您能夠管理高級特征如級、風格、列和概括等。
完全的數(shù)據(jù)概括, 概括允許您直接在Grid中表示統(tǒng)計信息如MIN, MAX, AVG, SUM和COUNT而不必采用古老而難看的單獨的edit控件。您甚至允許您的用戶用分組頭和注腳概括分塊數(shù)據(jù)。
基于View的架構, 在XtraGrid中的每一級能夠通過不同的View表達。XtraGrid使用標準的行列View以及CardView,類似Microsoft Outlook。所有Views都能夠很快的改變。
每列多種編輯器 - XtraGrid的同一列可以使用不同的編輯器。
jqGrid是一個jQuery的plugin,提供grid操作界面,并支持經Ajax連結服務器上的資料源。jqGrid在共同的基礎結構上,提供數(shù)種操作模式,分別包裝于不同的檔案之中。除了共享的數(shù)個檔案之外,使用者按需要選擇操作模式,并使用對應的程序檔??上Ц鞑僮髂J街g常見功能雷同之處,程序重用性卻未進一步整合、提升,而各模式的更新速度也不太一致。
特點如下
完整的表格呈現(xiàn)與運算功能,包含換頁、欄位排序、grouping、新增、修改及刪除資料等功能。
客制化的工具列。
預設的Navigator 工具列,可以很容易的使用新增、刪除、編輯、檢視及搜尋等功能。
完整的分頁功能。
按下任一欄位的標頭,皆可以該欄位為排序項目。無論是升冪或降冪皆可。
預設的action formatter,可以快速而直覺地對每筆資料做運算。
除了jqGrid lib 所提供之formatter(包括email,link,select,checkbox,date 等) 外,開發(fā)者可以從資料來源自訂資料顯現(xiàn)方式,即所謂的custom formatter。
兩者的不同歸結為以下方面:
表格視圖
XtraGrid中有4種類型的View,它們分別是:GridView(二維表格視圖)、BandedGridView(帶狀二維表格視圖)、AdvBandedGridView(高級的帶狀二維表格視圖,增加了一些操作功能)、CardView(卡片視圖)。這4種類型的View都是從ColumnView中繼承而來,而ColumnView又是從BaseView繼承來的。其中BaseView和ColumnView都是抽象類(abstract),不能實例化。
由于每種視圖都是一個類,它們對基類ColumnView重寫不盡相同,故某些效果在一種視圖上可以實現(xiàn),換了另一種視圖就不行了。
jqGrid同樣也有二維表格視圖,帶狀二維表格視圖,樹狀視圖。
對于二維表格視圖與帶狀表格視圖,它們的區(qū)別只在于在屬性處添加多一個表頭分組,對表格的操作完全一樣,故更換視圖的類型后其實現(xiàn)功能和效果不會有差異。
模板列
XtraGrid提供比較豐富的模板列類型,但是在自定義模板方面就欠缺了,一個模板列只能使用一種類型,比如在一個列里頭想放一個不可編輯的文本框,一個圖片按鈕,還有一個日歷控件,這樣就辦不到了。而且那個模板列里只能使用XtraGrid它定義的那套模板列類型,想使用自己定義的類型或者用微軟原本定義的控件也不行。用它原本的控件好處是get/set值比較方便,同時也使得模板沒辦法使用別的控件。
jqGrid它本身沒有提供模板列類型,就像.NET本身的GridView那樣,可以往模板里添加多個控件,個人感覺jqGrid的模板列很自由很開放,可以在模板中可以放置一個或多個控件,可以是自己寫的,也可以是其他的插件。
分頁
XtraGrid提供了分頁欄,只需要把gridControl 的UseEmbeddedNavigator 屬性設為true則可。XtraGrid實現(xiàn)分頁功能有兩種辦法,一種則是利用XtraGrid本身的Server Mode模式 。但這種方式有諸多弊端:1)不能編輯、增加、刪除數(shù)據(jù); 2)不能通過顯示值來進行排列和過濾數(shù)據(jù)(但可以用編輯值來進行這些操作);3)用戶排序時不觸發(fā)ColumnView.CustomColumnSort事件; 4)用戶分組時不觸發(fā)GridView.CustomColumnGroup事件; 5)用戶計算匯總時不觸發(fā)GridView.CustomSummaryCalculate事件; 6)在Server Mode模式下,數(shù)據(jù)表的主鍵不能由多個列組合而成。另一種方式就是利用SQL的分頁查詢。
jqGrid也提供了分頁欄,它的分頁方式與XtraGrid的第二種方式類似,采用SQL的分頁查詢。
個人認為采用SQL分頁查詢來實現(xiàn)分頁這方式比較好,即使XtraGrid的Server Mode模式不存在那么多的弊端,使用了Server Mode模式,萬一將來的某一天更換了控件,甚至從C/S模式換成B/S模式,這樣要更改的代碼量會比利用SQL分頁查詢的代碼量要大。
數(shù)據(jù)源
XtraGrid的數(shù)據(jù)源綁定與傳統(tǒng)GridView的數(shù)據(jù)源綁定有所不同,經過綁定的操作后,XtraGrid上的數(shù)據(jù)仍然與數(shù)據(jù)源的數(shù)據(jù)同步,即修改了XtraGrid里的數(shù)據(jù),數(shù)據(jù)源的數(shù)據(jù)也同樣會被修改,修改了數(shù)據(jù)源的數(shù)據(jù),XtraGrid里的數(shù)據(jù)也會跟著被修改。而且它可以很方便地獲取到某一行記錄的對象,比如將一個List
jqGrid綁定了數(shù)據(jù)源之后,表格里的數(shù)據(jù)與數(shù)據(jù)的數(shù)據(jù)就與GridView的情況一樣,兩者是不相關的,修改了一方的數(shù)據(jù),對另一方沒有任何影響。
總結
綜合了jqGrid和XtraGrid的優(yōu)點,個人認為一個好的網格類控件(或插件)除了有絢麗的外觀以外,還應該具備以下功能:
具有統(tǒng)計運算的功能;
具有父子表的功能;
對某列排序,分組,篩選功能;
提供工具欄方便增刪改查操作;
擁有多種分頁讀取數(shù)據(jù)功能(如傳統(tǒng)的通過分頁欄讀數(shù)據(jù)和通過滾動條控制分頁度數(shù)據(jù));
支持多種類型的數(shù)據(jù)集合作為數(shù)據(jù)源;
能夠方便地獲取到單元格的信息;
對表格數(shù)據(jù)的更改能同步到原本綁定的數(shù)據(jù)源集合中;
提供簡便的方法對數(shù)據(jù)的格式進行驗證;
方便數(shù)據(jù)導入導出;
能夠方便地設置條帶狀的列;
提供多種編輯器;
模板允許多種編輯器自由組合使用,而且可以添加任意的控件(插件進入模板);
支持快捷鍵操作,減少用戶在鼠標與鍵盤上切換;
根據(jù)用戶需要對列的先后順序進行重新排列;
以上純屬個人看法,有什么不足缺漏或錯誤的,歡迎指正。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。