私はextjsアプリケーションを持っています。現時点では、バックエンドからすべてのレコードを取得しています.1つのサービス要求でフルレコードが設定されています。 UIレベルでページ分割とソートを実装する必要があります。並べ替えは簡単なようです。 UIレベルのページネーションを実装するにはどうすればよいですか?これの例は何ですか?私はUIレベルでページネーションを実装すればよいので、10〜20kレコードが得られますか? extjs6で負荷を処理できますか?エクステンションのUIレイヤーのページ番号付けとソート
答えて
ページングサーバー側を処理することをお勧めします。今すぐあなたはだけ10~20kのレコードを持っているかもしれませんが、それが100kになるとどうなりますか?または100万?
Senchaからこのガイドをご覧ください:Grids - Pagingそれはたくさん説明します。
幸運を祈る!
並べ替えはそのままで実行されます。これは、デフォルトのExtJs 6.2.0アプリケーションに基づく単純なページネーションの例です。
YourAppName.view.main.List
...
// bottom paging-bar definition. Use "tbar" for top bar, or define both.
bbar: {
xtype: 'pagingtoolbar',
displayInfo: true,
emptyMsg: 'No data to display',
items: ['->'],
prependButtons: true
}
...
items: [{
title: 'Home',
iconCls: 'fa-home',
layout: 'fit', // needed for scrolling
scrollable: true, // for scrollable items
items: [{
xtype: 'mainlist'
}]
}, {
...
YourAppName.store.Personnel
Ext.define('YourAppName.store.Personnel', {
extend: 'Ext.data.Store',
alias: 'store.banners',
autoLoad: true, // run ajax-query right after grid rendering
loadMask: true, // show preload image
pageSize: 100,
model: 'YourAppName.model.Person',
proxy: {
type: 'ajax',
url: '/personnel',
reader: {
type: 'json',
rootProperty: 'items',
totalProperty: 'total'
}
}
});
app/model
フォルダファイルPerson.js
に作成します。
YourAppName.model .Person
Ext.define('YourAppName.model.Person', {
extend: 'Ext.data.Model',
fields: [
{ name: 'name', type: 'string', defaultValue: '' },
{ name: 'email', type: 'string', defaultValue: '' },
{ name: 'phone', type: 'string', defaultValue: '' }
]
});
ストア定義の通りあなたのWebサーバは、このようなJSONでURI /personnel
上HTTP
GET-request
に応答することができなければなりません:
{
"success": true,
"total": 20000,
"items": [
{ "name": "Jean Luc", "email": "[email protected]", "phone": "555-111-1111" },
{ "name": "Worf", "email": "[email protected]", "phone": "555-222-2222" },
{ "name": "Deanna", "email": "[email protected]", "phone": "555-333-3333" },
{ "name": 'Data', "email": "[email protected]", "phone": "555-444-4444" }
...
]
}
CUD操作はどうですか? – Hacker
@HackerはExtJs CRUDに関する新しい質問をします。 –
- 1. CouchDBのページ番号付けとソート
- 2. PHPのページ番号付けページのリンク
- 3. Symfony:ページ番号+ソート?
- 4. データのページ番号付け:java + oracle sql
- 5. 最初のテーブルのページ付け2番目のテーブルとの競合 - ページ番号
- 6. サーバ側のページ番号付けと角度付き
- 7. HtmlAgilityPackを使用したページ番号付けページのページ
- 8. 角材のページ番号付け次のページの機能
- 9. Joomla K2は、ページ番号にページ番号を付け加えてページ番号を変更します。
- 10. 効率的なページ番号付けとカウント文書の方法
- 11. inbuilt jQuery cakephpのページ番号付けと並べ替え
- 12. 効率的なページ番号付けとdjangoでのデータベースクエリ
- 13. 同じルビーメソッドでのページ番号付けと検索
- 14. データベース番号の自動番号付けまたはカスタム番号
- 15. 番号に番号を付ける?
- 16. (Gallerific)ページ番号と矢印のスタイル設定と位置付けページ:
- 17. cakephpページ番号付きのページ分割
- 18. 2ページの結果をページ番号付きでソートする(PHP、mysql)
- 19. ページ番号を付け加えたページのページ番号を追加するWordpress、Yoast
- 20. SQLでソートして番号を付けてグループ化する
- 21. SQL ServerとPHP(foreachメソッド)を使用してページ番号付けで各ページの番号付けを続ける方法
- 22. 最近の製品の番号付きページ番号woocommerce
- 23. Microsoft Wordの再起動ページの番号付け
- 24. angularjsのサーバー側のデータでページ番号を付けよう
- 25. ソート番号コンパイラエラー
- 26. ソート番号
- 27. ソート番号
- 28. CakePHP:番号が付けられたページ区切りの結果
- 29. このコードでページ番号付けを行う方法は?
- 30. 次のテキストにページ番号を付け加えよう:
私はあなたに同意するものとします。しかし、UIレベルのページネーションが実装されていることを確認する必要があります。私たちは、サーバーから10kレコード以上が得られないことを確認しました。 UIレベルのページ区切りがajaxで実装されている例はありません。もしあれば、いくつかの例を共有できますか? – Hacker
ここをクリックしてください:[Ext.toolbar.Paging - ローカルデータによるページング](http://docs.sencha.com/extjs/6.2.0-classic/Ext.toolbar.Paging.html#ext-toolbar-paging_paging -with-local-data);ここでは[Ext.ux.data.PagingMemoryProxy](http://docs.sencha.com/extjs/6.2.0-classic/Ext.ux.data.PagingMemoryProxy.html)を参照してください。 –
ええ、私はそれらを見ました。しかし、実装例はどこにもないので、私はそれが難しいと思っています。 – Hacker