簡體   English   中英

服務器端處理動態列

[英]Server Side Processing Dynamic Columns

服務器端路徑提供404錯誤,其中路徑與初始加載表時使用的路徑相同。 該表將被銷毀,並且列將動態更改。

我成功應用服務器端處理,我有靜態列。 我以前動態地構建了表而沒有服務器端處理,但現在負載太大而無法處理。 因此,我已經轉移到具有服務器端處理配置的SQL分頁,但它不會加載表,即使路徑與我最初加載表但具有一個靜態列時的路徑相同。 我使用的是版本1.10.15,因為我使用了這個庫已經有多長時間了,如果我升級的話,我有很多我不關心的表格。 不確定升級是否也能解決問題。

JQuery Datatables代碼

var oTable = $("#InvoiceProcessing").DataTable({
                jQueryUI: true,
                pagingType: "full_numbers",
                responsive: true,
                "scrollX": true,
                "bServerSide": true,
                "sAjaxSource": "@Url.Action("GetInvoiceProcessing", "InvoiceProcessing")?clientId=" + cId + "&summaryDate=" + sumDate + "&processedDate=" + procDate + "&accountNumber=&invoiceNumber=",
                "bProcessing": true,
                "destroy": true,
                lengthMenu: [[25, 50, 100], [25, 50, 100]],
                "autoWidth": true
            });

C#方法簽名 - 此方法不會被命中

public async Task<ActionResult> GetInvoiceProcessing(Guid? clientId, DateTime? summaryDate, DateTime? processedDate, DataTableParamModel param, string accountNumber = "", string invoiceNumber = "")

我需要讓分頁反映查詢的完整大小。 我正在使用sql分頁,它返回總記錄數,只返回數據的頁長。 如果我能在沒有服務器端處理的情況下完成此任務,我也會對此感到滿意。

我能夠使用提供的Priyank Panchal信息,但在建議中修改解決方案以滿足我的需求。

我無法按原樣使用它,因為我為網格生成的列是由數據動態驅動的,因此在加載之前無法預定義。

我必須以三種不同的方式加載網格。

  1. 首先,我只使用一個字段加載它,使用Datatables默認消息“No Available Records”來識別它的用法。
  2. 第二個加載在選擇客戶端之后重新創建網格,這是確定所需字段的內容,並使用適當的結構重新加載。
  3. 最后,我重新加載網格,用戶定義了如何過濾數據的另一個選擇。

有了這個,還需要隱藏第一列,我通過Datatables配置的“columnDefs”屬性執行此操作。

最后一項要求是為編輯和刪除按鈕提供其他字段。

這是通過“columnDefs”屬性以及以下列方式引用表來完成的:“aTargets”:[oTable.columns()[0] .length - 2]。 這提供了將其首先添加到最后一列而另一列添加到其后的功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM