我想使用slickgrid在軌道應用程序上有一個網格。如何在軌道上使用紅寶石加載slickgrid
我認爲最初的問題是沒有最佳做法,在哪裏或如何從sql數據庫加載數據網格。
在* .html.erb文件中,我是否使用javascript並嵌入了ruby代碼(甚至有可能)?
有人在那裏使用slickgrid,或任何可比的,在軌道應用程序上的紅寶石?
任何簡單的編碼示例都非常感謝!
我想使用slickgrid在軌道應用程序上有一個網格。如何在軌道上使用紅寶石加載slickgrid
我認爲最初的問題是沒有最佳做法,在哪裏或如何從sql數據庫加載數據網格。
在* .html.erb文件中,我是否使用javascript並嵌入了ruby代碼(甚至有可能)?
有人在那裏使用slickgrid,或任何可比的,在軌道應用程序上的紅寶石?
任何簡單的編碼示例都非常感謝!
我用this post來動態生成一個JavaScript文件。它看起來像:
var columns = ...
var options = ...
$(function() {
var data = [];
data[0] = {...};
data[1] = {...};
data[2] = {...};
...
var grid = new Slick.Grid($("#my_grid"), data, columns, options);
});
我能夠從數據庫加載數據到SlickGrid。但是,目前我確實遇到了使用columnpicker的hang problem(我希望你不需要它)。
有幾種方法可以將數據導入到SlickGrid中。最簡單的可能是AJAX調用。如果數據是靜態的,你可以將它嵌入到頁面中,但這可能比僅僅使用AJAX做的更有用也更困難。
您需要的第一件事是您可以訪問的路徑,它會將您的數據返回給瀏覽器,最好使用JSON格式,因此很容易在客戶端處理。
假設您要返回的數據只是一個簡單的集合,我們將使用Users列表的示例。
class UsersController < ApplicationController
def index
@users = User.all
respond_to { |format|
format.json { render :json => @users }
}
end
end
我們假設你可以在URL http://example.com/users/
得到這個現在,我們有辦法來獲取數據,我們可以拉在使用JavaScript在瀏覽器端的數據。我的例子是要使用jQuery,但任何JavaScript框架將有一個簡單的方法來進行AJAX調用。
請注意,SlickGrid需要一個地方放置您的數據。所以我會假設你已經在你的HTML這樣一行:<div id="slickGrid"></div>
# We need to wait for the DOM to be loaded so we wrap our AJAX call in a
# jQuery call that's the equivalent of document.ready()
jQuery(function() {
# getJSON is a jQuery convenience function for doing an AJAX call
# that fetches some JSON data.
jQuery.getJSON('http://example.com/users', function(data) {
grid = new Slick.Grid("#slickGrid", data, columns, options);
$("#slickGrid").show();
});
});
你可以如何使用SlickGrid從GitHub的庫例子: https://github.com/mleibman/SlickGrid/wiki/_pages
欲瞭解更多關於如何做AJAX調用使用jQuery這裏的文檔更常用的jQuery.ajax()函數: http://api.jquery.com/jQuery.ajax/
而且功能的getJSON,我專門用於: http://api.jquery.com/jQuery.getJSON/
我們可以在瀏覽器中以Json格式加載數據。所以,我用它來解析「user_data」數組。 例如。 localhost:3000/users.json
var user_data = <%= @ users.to_json.html_safe%>;