Grails 数据表可以';表中显示的行数不能超过10行
尝试使用dataTable列出表中的用户时遇到问题 到目前为止,一切正常,但当我输入超过10个用户时,它仍然显示10行,并且不能查看超过10行。我一直在尝试使用10 25 50 100个条目的显示,但仍然无法工作 下面是我尝试使用的函数的屏幕截图:Grails 数据表可以';表中显示的行数不能超过10行,grails,Grails,尝试使用dataTable列出表中的用户时遇到问题 到目前为止,一切正常,但当我输入超过10个用户时,它仍然显示10行,并且不能查看超过10行。我一直在尝试使用10 25 50 100个条目的显示,但仍然无法工作 下面是我尝试使用的函数的屏幕截图: 这是我使用的表格: $(document).ready(function() { $('table.dataTable').dataTable(); } ); 这是我的域名: class Pilot { String fNa
这是我使用的表格:
$(document).ready(function() {
$('table.dataTable').dataTable();
} );
这是我的域名:
class Pilot {
String fName
String lName
static constraints = {
}
}
这是控制器:
class PilotController {
static allowedMethods = [save: "POST", update: "POST", delete: "POST"]
def index() {
redirect(action: "list", params: params)
}
def list(Integer max) {
params.max = Math.min(max ?: 10, 100)
[pilotInstanceList: Pilot.list(params), pilotInstanceTotal: Pilot.count()]
}
def create() {
[pilotInstance: new Pilot(params)]
}
def save() {
def pilotInstance = new Pilot(params)
if (!pilotInstance.save(flush: true)) {
render(view: "create", model: [pilotInstance: pilotInstance])
return
}
flash.message = message(code: 'default.created.message', args: [message(code: 'pilot.label', default: 'Pilot'), pilotInstance.id])
redirect(action: "show", id: pilotInstance.id)
}
def show(Long id) {
def pilotInstance = Pilot.get(id)
if (!pilotInstance) {
flash.message = message(code: 'default.not.found.message', args: [message(code: 'pilot.label', default: 'Pilot'), id])
redirect(action: "list")
return
}
[pilotInstance: pilotInstance]
}
def edit(Long id) {
def pilotInstance = Pilot.get(id)
if (!pilotInstance) {
flash.message = message(code: 'default.not.found.message', args: [message(code: 'pilot.label', default: 'Pilot'), id])
redirect(action: "list")
return
}
[pilotInstance: pilotInstance]
}
def update(Long id, Long version) {
def pilotInstance = Pilot.get(id)
if (!pilotInstance) {
flash.message = message(code: 'default.not.found.message', args: [message(code: 'pilot.label', default: 'Pilot'), id])
redirect(action: "list")
return
}
if (version != null) {
if (pilotInstance.version > version) {
pilotInstance.errors.rejectValue("version", "default.optimistic.locking.failure",
[message(code: 'pilot.label', default: 'Pilot')] as Object[],
"Another user has updated this Pilot while you were editing")
render(view: "edit", model: [pilotInstance: pilotInstance])
return
}
}
pilotInstance.properties = params
if (!pilotInstance.save(flush: true)) {
render(view: "edit", model: [pilotInstance: pilotInstance])
return
}
flash.message = message(code: 'default.updated.message', args: [message(code: 'pilot.label', default: 'Pilot'), pilotInstance.id])
redirect(action: "show", id: pilotInstance.id)
}
def delete(Long id) {
def pilotInstance = Pilot.get(id)
if (!pilotInstance) {
flash.message = message(code: 'default.not.found.message', args: [message(code: 'pilot.label', default: 'Pilot'), id])
redirect(action: "list")
return
}
try {
pilotInstance.delete(flush: true)
flash.message = message(code: 'default.deleted.message', args: [message(code: 'pilot.label', default: 'Pilot'), id])
redirect(action: "list")
}
catch (DataIntegrityViolationException e) {
flash.message = message(code: 'default.not.deleted.message', args: [message(code: 'pilot.label', default: 'Pilot'), id])
redirect(action: "show", id: id)
}
}
}
以下是列表视图:
<!DOCTYPE html>
<html>
<head>
<meta name="layout" content="bstheme">
<g:set var="entityName" value="${message(code: 'pilot.label', default: 'Pilot')}" />
<title><g:message code="default.list.label" args="[entityName]" /></title>
</head>
<body>
<div class="col-md-12">
<div class="panel panel-custom">
<!--<a href="#list-pilot" class="skip" tabindex="-1"><g:message code="default.link.skip.label" default="Skip to content…"/></a>-->
<div class="panel-heading">
<g:message code="default.list.label" args="[entityName]" />
<div class="panel-options">
<a class="home" href="${createLink(uri: '/')}"><i class="glyphicon glyphicon-home"></i></a>
<g:link class="create" action="create"><i class="glyphicon glyphicon-plus"></i></g:link>
</div>
</div>
<div class="panel-body">
<div id="list-pilot" class="content scaffold-list" role="main">
<!--<h1><g:message code="default.list.label" args="[entityName]" /></h1>-->
<g:if test="${flash.message}">
<div class="message" role="status">${flash.message}</div>
</g:if>
<table class="dataTable table table-striped table-hover table-responsive">
<thead>
<tr>
<g:sortableColumn property="fName" title="${message(code: 'pilot.fName.label', default: 'First Name')}" />
<g:sortableColumn property="lName" title="${message(code: 'pilot.lName.label', default: 'Last Name')}" />
</tr>
</thead>
<tbody>
<g:each in="${pilotInstanceList}" status="i" var="pilotInstance">
<tr class="${(i % 2) == 0 ? 'even' : 'odd'}">
<td><g:link action="show" id="${pilotInstance.id}">${fieldValue(bean: pilotInstance, field: "fName")}</g:link></td>
<td>${fieldValue(bean: pilotInstance, field: "lName")}</td>
</tr>
</g:each>
</tbody>
</table>
<%-- <div class="pagination">
<g:paginate total="${pilotInstanceTotal}" />
</div> --%>
</div>
</div>
</div>
</div>
</body>
</html>
${flash.message}
${fieldValue(bean:pilotInstance,字段:“fName”)}
${fieldValue(bean:pilotInstance,字段:“lName”)}
PilotController.list(..)如果没有给出最大值,则返回10个条目,但是您没有设置最大值,其他任何事情都不会发生
您注释了分页,因此无法获取以下条目。找到了此问题的解决方案
def list(Integer max) {
params.max = Math.min(max ?: 10, 100)
[pilotInstanceList: Pilot.list(params), pilotInstanceTotal: Pilot.count()]
}
您只需删除:
Math.min(max?:10100)
在控制器中
所以你的代码应该是这样的
def list(Integer max) {
params.max
[pilotInstanceList: Pilot.list(params), pilotInstanceTotal: Pilot.count()]
}
如果你们中有人面临同样的问题,希望这对你们将来有所帮助
Kam rabwa谢谢Ivar,我现在添加了视图显示列表时的URL是什么?它是否包含
max
query参数?params.max=Math.min(max?:10100),看起来您还没有将max传递给控制器。检查调用列表方法的代码。检查(打印)控制器上该调用的记录如果计数正常,则会出现UI问题,您的表可能无法刷新。是否确实需要转储问题中的整个脚手架控制器?否,list()
返回数据库中的所有记录,只有在控制器中,params.max=Math.min(max?:10100)