2015-10-16 72 views
1

我開始了一個新項目,前端使用了AngularJS和BootStrap。現在開始使用表格呈現數據。我正在評論nggrid,ngtable,智能表等。我已經看到了StackO問題Best way to represent a Grid or Table in AngularJS with Bootstrap 3?。我看到它有點老,正在看最新版本的評論。有人可以推動我的一些評論,所以我可以選擇一個。預先要求的一個要求是我有很多數據要展示,沒有什麼不尋常的。我們正在爲桌面醫院管理系統應用程序構建一個Web前端,這些表的運行時間可能會達到幾百和幾百萬次。帶有angularJs和BootStrap的表

回答

1

我已經嘗試了智能表,發現當渲染有很多列的表時發現這太慢了。

然後我試了幾個其他表選項,發現它們也太慢了。現在我只需使用ng-repeat與角度分頁指令。 Howerver,我打算嘗試切換到與角料使用virtualRepeat:

virtual repeat

角材料帶來了許多其他強大的功能也一樣,這是值得一試。如果需要的話,你需要實現你自己的排序,但這非常簡單 - 添加ng-click會觸發一個函數對數組進行排序(可能還使用$ filter創建自定義orderBy函數)。

編輯:有使用虛擬重複一些限制,但如果你不介意有固定的列寬,那麼它工作得很好:simple table virtual repeat example

<md-virtual-repeat-container id="vertical-container">你的桌子周圍,用<tr md-virtual-repeat="...">遍歷錶行,給行固定的寬度。然後,一個單獨的表格可以顯示上面的標題,也可以爲每個標題使用固定的寬度。

+1

我不知道角材料。看看它。 – VivekDev

+1

我剛剛檢查過,虛擬重複目前不容易兼容表頭:http://codepen.io/anon/pen/KdyPwe - 他們與項目滾動,所以目前我會建議使用分頁指令自己的ng-repeat實現。我已經提出了角度材料的功能要求,以支持他:https://github.com/angular/material/issues/5204 – Sam

+1

我使用了智能表,並對結果感到滿意。我們有大約300K條記錄,只需要確保做一些服務器端分頁/排序。我喜歡它,因爲它暴露了TABLE HTML標記,因此您可以輕鬆控制它的外觀。 –

1

我試過ng-table,但並不認爲這是一個很好的選擇,我發現它很難使用,但也許我只是沒有投入時間。