以下是关于“jQWidgets jqxDataTable pagerRenderer属性”的完整攻略,包含两个示例说明:
简介
jqxDataTable
控件的 pagerRenderer
用于定义分页控件的渲染方式。
整攻
以下是 jqxDataTable
控件 pagerRenderer
属性的完整攻略:
定义 pagerRenderer 属性
在 jqxDataTable
控件中,可以使用 pagerRenderer
属性自定义分页控件的渲染方式。例如:
$("#jqxdatatable").jqDataTable({
pagerRenderer: (pageIndex, pageCount, pagerButtonsContainer) {
// 自定义分页控件的渲染方式
}
});
上述代码中,我们使用 jqxDataTable
控件的 pagerRenderer
属性自定义分页控件渲染方式。
示例
以下是两个示例示如何使用 pagerRenderer
属性。
示例 1
在此示例中,创建了一个 jqxDataTable
控件,并使用 pagerRenderer
属性自定义分页控件的渲染方式
<div id="jqxdatatable"></div>
<script>
$(document).ready(function () {
// 创建 jqxDataTable 控件
var data = [
{ name: '张三', age: 20, gender: '男', address: '北京市' },
{ name: '李四', age: 25, gender: '女', address: '上海市' },
{ name: '王五', age: 30, gender: '男', address: '广州市' },
{ name: '赵六', age: 35, gender: '女', address: '深圳市' },
{ name: '钱七', age: 40, gender: '男', address: '杭州市' },
{ name: '孙八', age: 45, gender: '女', address: '南京市' },
{ name: '周九', age: 50, gender: '男', address: '成都市' },
{ name: '吴十', age: 55, gender: '女', address: '重庆市' }
];
var source = {
datatype: 'json',
datafields: [
{ name: 'name', type: 'string' },
{ name: 'age', type: 'number' },
{ name: 'gender', type: 'string' },
{ name: 'address', type: 'string' }
],
localdata: data,
totalrecords: data.length
};
var dataAdapter = new $.jqx.dataAdapter(source);
$("#jqxdatatable").jqxDataTable({
columns: [
{ text: '姓名', datafield: 'name' },
{ text: '年龄', datafield: 'age' },
{ text: '性别', datafield: 'gender' },
{ text: '地址', datafield: 'address' }
],
source: dataAdapter,
pageable: true,
pagerRenderer: function (pageIndex, pageCount, pagerButtonsContainer) {
// 自定义分页控件的渲染方式
var buttonsCount = 5;
var half = Math.floor(buttonsCount / 2);
var start = Math.max(0, pageIndex - half);
var end = Math.min(pageCount - 1, start + buttonsCount - 1);
start = Math.max(0, end - buttonsCount + 1);
var pagerContent = "<div>";
if (pageIndex > 0) {
pagerContent += "<a href='javascript:;' data-page='" + (pageIndex - 1) + "'>上一页</a>";
}
for (var i = start; i <= end; i++) {
var active = pageIndex == i ? "active" : "";
pagerContent += "<a href='javascript:;' class='" + active + "' data-page='" + i + "'>" + (i + 1) + "</a>";
}
if (pageIndex < pageCount - 1) {
pagerContent += "<a href='javascript:;' data-page='" + (pageIndex + 1) + "'>下一页</a>";
}
pagerContent += "</div>";
pagerButtonsContainer.html(pagerContent);
pagerButtonsContainer.find("a").click(function () {
var page = parseInt($(this).attr("data-page"));
$("#jqxdatatable").jqxDataTable('goToPage', page);
});
}
});
});
</script>
在上述代码中,我们创建了一个 jqxDataTable
控件,并使用 pagerRenderer
属性自定义分页控件的渲染方式。
示例 2
在示例中,创建了一个 jqxDataTable
控件,并使用 pagerRenderer
属性自定义分页控件的渲染方式。
<div id="jqxdatatable"></div>
<script>
$(document).ready(function () {
// 创建 jqxDataTable 控件
var data = [
{ name: '张三', age: 20, gender: '男', address: '北京市' },
{ name: '李四', age: 25, gender: '', address: '上海市' },
{ name: '王五', age: 30, gender: '男', address: '广州市' },
{ name: '赵六', age: 35, gender: '女', address: '深圳市' },
{ name: '钱七', age: 40, gender: '男', address: '杭州市' },
{ name: '孙八', age: 45, gender: '女', address: '京市' },
{ name: '周九', age: 50, gender: '男', address: '成都市' },
{ name: '吴十', age: 55, gender: '女', address: '重庆市' }
];
var source = {
datatype: 'json',
datafields: [
{ name: 'name', type: 'string' },
{ name: 'age', type: 'number' },
{ name: 'gender', type: 'string' },
{ name: 'address', type: 'string' }
],
localdata: data,
totalrecords: data.length
};
var dataAdapter = new $.jqx.dataAdapter(source);
$("#jqxdatatable").jqxDataTable({
columns: [
{ text: '姓名', datafield: 'name' },
{ text: '年龄', datafield: 'age' },
{ text: '性别', datafield: 'gender' },
{ text: '地址', datafield: 'address' }
],
source: dataAdapter,
pageable: true,
pagerRenderer: function (pageIndex, pageCount, pagerButtonsContainer) {
// 自定义分页控件的渲染方式
var pagerContent = "<div>";
if (pageIndex > 0) {
pagerContent += "<a href='javascript:;' data-page='" + (pageIndex - 1) + "'>上一页</a>";
}
for (var i = 0; i < pageCount; i++) {
var active = pageIndex == i ? "active" : "";
pagerContent += "<a href='javascript:;' class='" + active + "' data-page='" + i + "'>" + (i + 1) + "</a>";
}
if (pageIndex < pageCount - 1) {
pagerContent += "<a href='javascript:;' data-page='" + (pageIndex + 1) + "'>下一页</a>";
}
pagerContent += "</div>";
pagerButtonsContainer.html(pagerContent);
pagerButtonsContainer.find("a").click(function () {
var page = parseInt($(this).attr("data-page"));
$("#jqxdatatable").jqxDataTable('goToPage', page);
});
}
});
});
</script>
在上述代码中,我们创建了一个 jqxDataTable
控件,并使用 pagerRenderer
属性自定义分页控件的渲染方式。
结语
以上是关于“jQWidgets jqxDataTable pagerRenderer属性”的完整攻略,包含属性定义和两个示例说明。在实际开发中,使用 pagerRenderer
属性可以更好地控制分页控件的渲染方式。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jQWidgets jqxDataTable pagerRenderer属性 - Python技术站