我想在使用 slickgrid 的 rails 应用程序上有一个网格。
我认为我最初的问题是没有关于在哪里或如何使用 sql 数据库中的数据加载网格的最佳实践。
在 *.html.erb 文件中,我是否使用 javascript 并嵌入 ruby 代码(这甚至可能)?
有没有人在使用 slickgrid 或任何类似的东西,使用 ruby on rails 应用程序?
非常感谢任何简单的编码示例!
我想在使用 slickgrid 的 rails 应用程序上有一个网格。
我认为我最初的问题是没有关于在哪里或如何使用 sql 数据库中的数据加载网格的最佳实践。
在 *.html.erb 文件中,我是否使用 javascript 并嵌入 ruby 代码(这甚至可能)?
有没有人在使用 slickgrid 或任何类似的东西,使用 ruby on rails 应用程序?
非常感谢任何简单的编码示例!
我使用这篇文章动态生成了一个 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 的挂起问题(我希望你不需要它)。
有几种方法可以将数据导入 SlickGrid。最简单的可能是 AJAX 调用。如果数据是静态的,您可以将其嵌入到页面中,但这可能比仅使用 AJAX 更有用且更困难。
您需要的第一件事是您可以访问的路由,它将您的数据返回到浏览器,最好是 JSON 格式,以便在客户端轻松处理。
假设您要返回的数据只是一个简单的集合,我们将使用用户列表的示例。
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();
});
});
您可以从 Github 存储库中获取更多有关如何使用 SlickGrid 的示例: https ://github.com/mleibman/SlickGrid/wiki/_pages
有关如何使用 jQuery 进行 AJAX 调用的更多信息,请查看更通用的 jQuery.ajax() 函数的文档:http: //api.jquery.com/jQuery.ajax/
还有我专门使用的getJSON函数:http: //api.jquery.com/jQuery.getJSON/
我们可以在浏览器中以 Json 格式加载数据。所以,我用它来解析成“user_data”数组。例如。本地主机:3000/users.json
var user_data = <%= @users.to_json.html_safe %>;