首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Dandelion数据的AJAX源表的自定义列

使用Dandelion数据的AJAX源表的自定义列
EN

Stack Overflow用户
提问于 2015-12-11 12:40:51
回答 1查看 545关注 0票数 2

我使用Dandelion已经有一段时间了,使用的是data属性。

昨天我已经开始使用url属性,现在我无法执行自定义列。

我有以下几点:

代码语言:javascript
复制
<datatables:table id="statesTable" url="/find" pipelining="true" cssClass="table table-striped" pagingType="bootstrap_simple" dom="tip">

  <datatables:column property="name" titleKey="name.label"/>

  <datatables:column titleKey="actions.label">
    <div class="btn-group">
      <spring:url value="update" var="updateUrl">
        <spring:param name="statusId" value="${id}"/>
      </spring:url>
      <a href="${updateUrl}"><fmt:message key="actions.update"/></a>
    </div>
  </datatables:column>

</datatables:table>

返回的数据是:

代码语言:javascript
复制
[{"id":7,"createdBy":"pedadmin","createdDate":1449765659000,"name":"Test"},
{"id":8,"createdBy":"pedadmin","createdDate":1449765744000,"name":"Otro"},
{"id":11,"createdBy":"pedadmin","createdDate":1449766460000,"name":"asdfasdfasdf"},
{"id":12,"createdBy":"pedadmin","createdDate":1449766539000,"name":"asañdsfadsfasfdfsad"},
{"id":13,"createdBy":"pedadmin","createdDate":1449766573000,"name":"asdfasdf"}]

生成的HTML是:

代码语言:javascript
复制
<tbody>
    <tr role="row" class="odd">
        <td class="sorting_1">asañdsfadsfasfdfsad</td><td></td>
    </tr>
    <tr role="row" class="even">
        <td class="sorting_1">asdfasdf</td><td></td>
    </tr>
    <tr role="row" class="odd">
        <td class="sorting_1">asdfasdfasdf</td><td></td>
    </tr>
    <tr role="row" class="even">
        <td class="sorting_1">Cinco</td><td></td>
    </tr>
    <tr role="row" class="odd">
        <td class="sorting_1">Cuatro</td><td></td>
    </tr>
    <tr role="row" class="even">
        <td class="sorting_1">Dos</td><td></td>
    </tr>
    <tr role="row" class="odd">
        <td class="sorting_1">Feo</td><td></td>
    </tr>
    <tr role="row" class="even">
        <td class="sorting_1">Foobar</td><td></td>
    </tr>
    <tr role="row" class="odd">
        <td class="sorting_1">Otro</td><td></td>
    </tr>
    <tr role="row" class="even">
        <td class="sorting_1">Test</td><td></td>
    </tr>
</tbody>

如您所见,自定义列的td中没有任何内容。为了使自定义列工作,是否需要配置什么?(我使用数据而不是url测试了同一列,它运行得很好)

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-16 09:49:41

由于datatable处于AJAX模式,所以<datatable:column>中的所有内容都不会被处理(因为它应该在服务器上处理,当使用url时,它是在浏览器上处理的)。

因此,您需要指定一个renderFunction并实现它。

就像这样:

代码语言:javascript
复制
<datatables:column titleKey="actions.label" property="id" renderFunction="formatColumn">

然后将函数添加到代码的某个位置(无论是同一个页面还是一个.js文件):

代码语言:javascript
复制
function formatColumn(data) {
    var div = $('<div>', {'class': 'btn-group'});

    $('<a>', {href: 'update?statusId=' + data, text:'Update'})appendTo(div);

    return $('<div>').append(div).html();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34223841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档