我想使用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%>;