EasyUIのDatagridはサーバー側のページネーションをサポートしていますが、公式情報は少なくなります。以下は、Datagridの2つのサーバー側ページネーションメカニズムをまとめたものです。 1つはDatagridのデフォルトメカニズムであり、もう1つはAjaxを使用してデータを取得し、状況に応じて使用できるDatagridを入力することです。
1:Datagridデフォルトメカニズムを使用します
舞台裏:
public jsonresult getQuestionunit(){// easyi datagrid自体は行を渡し、ページint pagesize = convert.toint32(request ["rows"]); int pagenum = convert.toint32(request ["page"]); var dal = new qsquestionunitdal(); var questionunits = dal.getList( ""、pagenum -1、pagesize); //フォアグラウンドに返される値には、合計および行var easyuipages = new Dictionary <String、object>()を含める必要があります。 easyuipages.add( "total"、questionunits.firstordefault()== null?0:questionunits.firstordefault()。reqcount); easyuipages.add( "rows"、questionunits); return json(easyuipages、jsonrequestbehavior.allowget); } Frontend: (function () {(function () {('#dgd').datagrid({ pageNumber: 1, //url: "@ViewBag.Domain/Paper/GetQuestionUnit?arg1=xxx", columns: [[ { field: 'Id', title: 'id', width: 100 }, { field: 'Name', title: 'name', width: 100 }, ]、pagination:true、rownumbers:true、pagelist:[3、6]}); var p =( '#dgd')。datagrid( 'getpager');( '#dgd')。 {pages} pages '、displaymsg:'合計{total} data '、});( '#dgd')。datagridメソッドを配置する必要があります
$(function(){});他のJSメソッドを介して( '#dgd')を呼び出そうとする場合、正しいページングの結果は得られません。
ご覧のとおり、上記のJSコードのラインURLがコメントアウトされています。他の操作を実行する必要がなく、ページが読み込まれるとすぐにデータを照会する予定である場合、コードをコメントすることはできません。ただし、多くの場合、Arg1の値などのURLパラメーターは、インターフェイスで特定の操作を実行し、JSコードを介してそれらを取得する必要があります。この時点で、URLにコメントアウトされ、次のような他の場所に割り当てられる必要があります。
var step1ok = function(){$( '#dgd')。datagrid({url: "@viewbag.domain/paper/getquestionunit?arg1 = xxx"、});};上記のコードでは、インターフェイス内のボタンがクリックされ、STEP1OKメソッドが呼び出され、データがURLに照会され、UIに提示されると仮定できます。
2:AJAXを使用してデータを取得し、Datagridを入力します
より大きな柔軟性を追求したい場合、Datagridのデフォルトメカニズムを使用することはできません。つまり、データを取得するためにURLを指定しますが、AJAXを使用してデータを取得してDatagridを入力します。このようにして、( '#dgd')。datagridメソッドをに配置する必要があります。
$(function(){});バックグラウンドコードは変更されていませんが、ボタンをクリックしてSTEP1OKメソッドを呼び出すことは以下になります。
var step1ok = function() {.messager.progress(title: 'plealewaiting'、msg: 'loadingdata ...'、text: 'processing .....'); varp = .messager.prog ress(title: 'pleasewaiting'、msg: 'loadingdata ...'、text: ′processing .....'); varp =( '#dgd')。datagrid( 'getpager'); $(p).pagination({onselectpage:function(pagenumber、pagesize){alert( 'onselectpage pageNumber:' + pageNumber + '、pagesize:' + pagesize); getdata(pageNumber、pagesize);}}); getdata(1,3);};最初の呼び出しが呼び出されると、最初のページの3つのデータが取得されます。
getData(1,3);
その後、同時に、ページネーションのonSelectPageイベントのタイムプロセッサを作成したため、ページが別の日になると、次のようになります。
getdata(pagenumber、pagesize);
さらに、ページネーションのためにDatagridの元のメカニズムをバイパスしたため、独自のカバー$ .Messager.Progressを採用し、Ajaxの成功でカバーを発見しました。
GetDataメソッドは次のとおりです。
var getData = function(page、rows){.ajax({type: "post"、url: "@viewbag.domain/paper/getquestionunit"、data: "page =" + page + "&rows =" + rows、error:function:function(xmlhttprequest、textstatus、errer(textatus "; url: "@viewbag.domain/paper/getquestionunit"、data: "page =" + "&rows =" + rows、error:function(xmlhttprequest、textstatus、errorthrown) //。上記は、編集者が紹介したEasyUIページネーションページングの2つの方法の完全な説明です。それがあなたに役立つことを願っています。もっと知りたい場合は、wulin.comのWebサイトに注意してください!