【问题标题】:web2py inline editable gridweb2py 内联可编辑网格
【发布时间】:2012-12-13 18:42:08
【问题描述】:

我正在使用 web2py 为 MySQL 后端构建动态 Web UI,而且我是 web2py 框架和一般 Web 开发的新手。

我正在寻找的是具有以下功能的库或插件,这些功能是为 web2py 构建或兼容的。

1) 对从表中检索到的记录进行内联编辑(一次多条记录,而不仅仅是一次),所有更改都会在提交时发送回数据库。

2) 这些记录的某些字段的值的下拉菜单;下拉列表的值将取决于该记录的另一个字段的值。

3) 能够创建新记录。

--

以下是一些似乎接近我正在寻找的解决方案。但是所有现成的东西似乎都需要花费或要求我的项目是开源的。包含 [DOT] 以允许两个以上的链接。

http://datatables.net/index - 不购买插件就不能进行内联编辑

http://wijmo.com/widgets/wijmo-complete/grid/ - grid 仅附带 wijmo 的许可版本

http://trirand.com/blog/jqgrid/jqgrid.html - 看起来很有希望,但是如何使用 web2py 将数据发送回服务器?另外,如何为某些字段创建下拉菜单?

http://dev.sencha.com/deploy/ext-4.0.0/examples/grid/cell-editing.html - 这似乎是我正在寻找的,但我不想为许可付费。

--

我的偏好是使用已经构建好的东西。但是,很多人似乎认为编写自己的 UI 是最好的方法。

对好的前进道路有什么建议吗?

【问题讨论】:

    标签: python grid web2py


    【解决方案1】:

    您是否看过以下插件列表,http://dev.s-cubism.com/web2py_plugins 他们可以满足您的大部分需求。

    【讨论】:

      【解决方案2】:

      有两种解决方案:https://groups.google.com/forum/#!topic/web2py/2AvvmszNrgA

      步骤: 下载可编辑的, 安装在 static/js 文件夹中。向模板添加代码:

      <script src="{{=URL('static','js/jquery.jeditable.js')}}"></script>
      

      型号:

      db.define_table('dogs',
      Field('dog_name','string'))
      

      控制器:

      def populate():
          db.dogs.truncate()
          db.fleas.truncate()
      
          db.dogs.insert(dog_name='dagwood')
          db.dogs.insert(dog_name='daisy')
      
      def dogs():
          db.dogs.dog_name.represent = lambda value, row: DIV(value if value else '-',_class='dog_name', _id=str(row.id)+'.dog_name')
          g = SQLFORM.grid(db.dogs, searchable=False, csv=False, user_signature=False)
          return dict(form = g)
      
      def upd_dog_name():
          id,column = request.post_vars.id.split('.')
          value = request.post_vars.value
          db(db.dogs.id == id).update(**{column:value})
          return value
      

      查看:

      {{extend 'layout.html'}}
      
      <script>
      jQuery(document).ready(function(){
          jQuery('.dog_name').editable("{{=URL('dogs', 'upd_dog_name')}}",{                   
              tooltip: "Click to edit, enter to save",
       indicator : 'updating',
       });})
      </script>
      
      
      <div id='dogs'>
          {{=form}}
      </div>
      

      另一种方法(更少的编程)是使用这个 web2py 切片: http://www.web2pyslices.com/slice/show/1714/jqgrid-viewing-and-updating-data

      【讨论】:

        猜你喜欢
        • 2012-02-14
        • 1970-01-01
        • 2023-04-10
        • 2015-08-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多