我正在尋找一個簡單的例子,當試圖通過jQuery.Ajax檢索數據爲JSon時如何使用SlickGrid。我也無法找到任何SlickGrid插件的文檔,並想知道我是否只是看錯了地方。任何幫助讓我開始與SlickGrid將不勝感激。使用AJAX的光滑網格示例
2
A
回答
2
我一直在寫一個ajax滑動網格。它進展順利,所以它絕對是一個值得追求的想法。
我使用了跳過模型來批量拉取大量數據。我還編寫了一個包裝類Grid
,用於光滑網格設置和操作,因此更容易重用。
以下是我希望可以幫助您入門的一些代碼。我已經把它縮減爲特定於您的AJAX加載問題。真正的網格使用列篩選器和複選框選擇器,這兩者都值得研究,但會混淆回覆。
語法是CoffeeScript,但我相信你可以明白。
SlickGrid包裝
class Grid
grid = null
dataView = null
options = {
enableCellNavigation: true,
explicitInitialization: true
}
constructor:(@gridId, @pagerId, @columns, loadData)->
@setupDataView()
@setupGrid()
@setupPager()
grid.init()
loadData()
setupDataView:() ->
dataView = new Slick.Data.DataView()
dataView.onRowCountChanged.subscribe(->
grid.updateRowCount()
grid.render()
)
dataView.onRowsChanged.subscribe((e, args)->
grid.invalidateRows(args.rows)
grid.render()
)
setupGrid:()->
grid = new Slick.Grid(@gridId, dataView, @columns, options)
grid.setSelectionModel(new Slick.RowSelectionModel())
setupPager:() ->
dataView.setPagingOptions({ pageSize: 25 });
pager = new Slick.Controls.Pager(dataView, grid, $(@pagerId));
addRows:(rows)->
dataView.beginUpdate()
dataView.addItem row for row in rows
dataView.endUpdate()
用於用戶網格
viewdata = $('#viewdata').data('viewdata')
take = 800
grid = null
loadingGlyph = '<img class="loading" style="float:right;margin-top:5px" src="/Content/img/ajax-loader.gif" alt="loading" width="16" height="16"/>'
columns = [
{ id: 'last name', name: 'Last Name', field: 'LastName', sortable:true },
{ id: 'first name', name: 'First Name', field: 'FirstName', sortable:true },
{ id: 'email', name: 'Email', field: 'Email', sortable:true }
]
loadData=() =>
$('.slick-pager-status').after(loadingGlyph)
for skip in [0..viewdata.count] by take
url = '/' + viewdata.id + '/users/' + skip + '/' + take
$.getJSON(url, (users) ->
grid.addRows(users)
$('.loading').hide() if users.length < take
)
$ ->
grid = new Grid('#user-grid', '#user-pager', columns, loadData)
的HTML實施包裝
<div style="margin: 10px;">
<div id="user-grid" style="width: 100%; height: 700px;"></div>
<div id="user-pager" style="width: 100%; height: 20px;"></div>
</div>
一些SQL給你的想法
select * from
(
select Id, FirstName, LastName, Email, ROW_NUMBER() over (order by UserName) rownum
from [.. your stuff]
where [... your stuff]
) seq
where seq.rownum between @skip and @count
1
對於其他人要做到這一點看看slickgrid的這個分支。 https://github.com/harbulot/SlickGrid
它增加了一個漂亮的小Python的服務器提供AJAX後端
git clone [email protected]:harbulot/SlickGrid.git
cd SlickGrid/
python localajaxserver.py
然後去http://127.0.0.1:8000/examples/example6b-ajax-localserver.html
與您的瀏覽器。
看拉請求看看發生了什麼變化https://github.com/harbulot/SlickGrid/compare/mleibman:master...url_builder
相關問題
- 1. 光滑的網格單元格着色
- 2. 光滑的網格列(文本對齊)
- 3. 光滑網格多選問題
- 4. 保存使用光滑電網和PHP
- 5. 爲光滑電網
- 6. 如何在光滑網格上使用分組和聚合
- 7. 根據列值突出顯示光滑網格行
- 8. 如何在更新光滑網格表後從光滑網格中獲取數據?
- 9. 自動完成單元格上的光滑網格設置值
- 10. 光滑的網格確保數據沒有被調用
- 11. 如何用百分比指定光滑網格的寬度?
- 12. 當光滑網格摺疊時,resizeCanvas不起作用
- 13. 在引導彈出窗口中顯示光滑的網格行編輯器
- 14. 重新排列光滑的網格中的行
- 15. 調整大小的GetColumn信息和寬度 - 光滑的網格
- 16. 光滑的網格中的數據更新
- 17. 如何讓光滑的網格與iscroll一起工作
- 18. 滾動是不光滑的android網格視圖
- 19. WPF數據網格示例
- 20. JQuery CRUD網格示例
- 21. 有沒有人用1個樣式表使光滑網格正常工作?
- 22. 使用SDL2平滑網格移動?
- 23. Kendo UI網格示例不起作用
- 24. 使用Ajax的ASP.NET MVCContrib網格
- 25. 使用具有斷點的網格設置的示例
- 26. iphone滑塊示例
- 27. 使用光滑的Carousal插件
- 28. 使用`firstOption`和光滑的3
- 29. 使用RoundRect的圓角不光滑
- 30. 爲光滑網格加載更多按鈕