<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Client Side Pagination in DataGrid - jQuery EasyUI Demo</title>
<link rel="stylesheet" type="text/css" href="themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="themes/icon.css">
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.easyui.min.js"></script>
</head>
<body>
<div style="margin:20px 0;">
<form method="post" action="">
<input type="button" value="selecet">
<input type="button" value="Del" onclick="getAll();">
</form>
</div>
<table id="dg" title="showtitle" style="width:700px;height:350px" data-options="
rownumbers:true,
singleSelect:false,
autoRowHeight:false,
pagination:true,
pageSize1:10">
<thead>
<tr>
<th data-options="field:'ck',checkbox:true"></th>
<th field="inv" width="80">Inv No</th>
<th field="date" width="100">Date</th>
<th field="name" width="80">Name</th>
<th field="amount" width="80" align="right">Amount</th>
<th field="price" width="80" align="right">Price</th>
<th field="cost" width="100" align="right">Cost</th>
<th field="note" width="110">Note</th>
</tr>
</thead>
</table>
<script>
//初始化加载分页
(function($){
function pagerFilter(data){
if ($.isArray(data)){// is array
data = {
total: data.length,
rows: data
}
}
var dg = $(this);
var state = dg.data('datagrid');
var opts = dg.datagrid('options');
if (!state.allRows){
state.allRows = (data.rows);
}
var start = (opts.pageNumber-1)*parseInt(opts.pageSize);
var end = start + parseInt(opts.pageSize);
data.rows = $.extend(true,[],state.allRows.slice(start, end));
return data;
}
var loadDataMethod = $.fn.datagrid.methods.loadData;
$.extend($.fn.datagrid.methods, {
clientPaging: function(jq){
return jq.each(function(){
var dg = $(this);
var state = dg.data('datagrid');
var opts = state.options;
opts.loadFilter = pagerFilter;
var onBeforeLoad = opts.onBeforeLoad;
opts.onBeforeLoad = function(param){
state.allRows = null;
return onBeforeLoad.call(this, param);
}
dg.datagrid('getPager').pagination({
onSelectPage:function(pageNum, pageSize){
opts.pageNumber = pageNum;
opts.pageSize = pageSize;
$(this).pagination('refresh',{
pageNumber:pageNum,
pageSize:pageSize
});
dg.datagrid('loadData',state.allRows);
}
});
$(this).datagrid('loadData', state.data);
if (opts.url){
$(this).datagrid('reload');
}
});
},
loadData: function(jq, data){
jq.each(function(){
$(this).data('datagrid').allRows = null;
});
return loadDataMethod.call($.fn.datagrid.methods, jq, data);
},
getAllRows: function(jq){
return jq.data('datagrid').allRows;
}
})
})(jQuery);
//获取数据
function getData(){
var rows = [];
for(var i=1; i<=100; i++){
var amount = Math.floor(Math.random()*1000);
var price = Math.floor(Math.random()*1000);
rows.push({
ck:i,
inv: 'Inv No '+i,
date: $.fn.datebox.defaults.formatter(new Date()),
name: 'Name '+i,
amount: amount,
price: price,
cost: amount*price,
note: 'Note '+i
});
}
return rows;
}
//初始化加载
$(function(){
$('#dg').datagrid({data:getData()}).datagrid('clientPaging');
});
//获取选择的值(id)
function getAll()
{
var items = document.getElementsByTagName("input");//这里checkbox在html里面已经转化成了input控件,获取所有的input也就是checkbox
var str=""; //定义一个变量,来接收ID(行号)
for(var i = 1;i < items.length; i++)//循环你获取的所有的checkbox的长度
{
if(items[i].value!="" && items[i].type=="checkbox" && items[i].checked==true){//判断那个checkbox被选中 items[i].value!="on" &&
console.log(items[i]);
str+=","+items[i].value; //把被选中的用这个变量累加
}
}
if(str!="")
{
str=str.substring(1); //截取第一个 ","符号,得到所有的行号的数组
alert("you are del :"+str);
}else{
alert ("no num");
}
// document.getElementById("hfListID").value=str; //保存到隐藏域中,
};
</script>
</body>
</html>
相关推荐
"Flex Datagrid全选功能"是指在Datagrid中实现一个功能,让用户能够一键选择所有行,这在处理大量数据时非常有用。下面我们将详细探讨如何在Flex中实现Datagrid的全选功能。 1. **Datagrid组件**: Datagrid是Adobe ...
此外,还需要确保当`DataGrid`的项发生变化时,例如添加、删除或更新行,同步`IsAllSelected`的值。可以通过监听`SelectionChanged`事件,检查当前是否有所有行都被选中,并更新`IsAllSelected`。 ```csharp ...
这将大大提升用户体验,使得用户可以快速地对所有行进行操作,如批量删除、更新等。 首先,我们需要创建一个自定义的`DataGridViewColumn`类型,这个类型将在表头显示一个`CheckBox`。在C#中,我们可以创建一个新的...
本知识点将深入探讨如何在Silverlight 4中使用DataGrid进行数据的增、删、改以及全选操作。 首先,DataGrid控件是基于WPF中的同名控件,并在Silverlight中得到了优化。它提供了强大的数据绑定能力,可以与各种数据...
在Flex的DataGrid组件中,我们通常会遇到这样的需求:当用户需要对多条记录进行批量操作时,如选择全部记录进行删除或更新。此时,我们可以添加一个复选框来实现全选或取消全选的功能。这个功能的实现主要涉及到两个...
本主题将深入探讨SilverLight DataGrid在主从表展示、全选、多选、选项删除和排序方面的实现方法。 首先,我们来看主从表折叠显示。在数据展示中,主从表关系常用于处理一对多的数据结构,例如一个订单有多个订单...
综上所述,这个Flex全选效果批量删除的示例涵盖了Flex组件的使用、数据绑定、事件处理、数据操作以及用户交互等多个方面,是Flex开发中一个典型的业务场景。通过学习和理解这个例子,开发者可以进一步提升在Flex环境...
3. **全选/反选**:在DataGrid中实现全选和反选功能,可以通过绑定一个IsAllSelected属性到一个CheckBox,并利用DataGrid的SelectionMode和SelectionUnit属性。当IsAllSelected改变时,遍历所有行并改变它们的Is...
在.NET框架中,`DataGridView`控件是一种常用的用于显示和编辑数据的组件,它提供了丰富的功能,如排序、分页和自定义...同时,这个功能也可以作为其他自定义`DataGridView`行为的基础,例如批量删除、更新或导出数据。
- 为了提高性能,可以在数据量较大的情况下,使用事件分发机制(例如使用DataGrid的change事件)而不是每次循环更新所有项。 - 考虑到多线程环境,确保在修改数据Provider时使用适当的锁机制,防止数据冲突。 ...
- Silverlight UI:用户界面,包括数据绑定控件,如DataGrid,以及用于交互的按钮和复选框。 这个实例将演示如何将这些组件整合起来,形成一个完整的数据操作解决方案。通过研究这个示例,开发者可以学习到如何在...
本教程将详细讲解datagrid的基本使用、添加、删除和修改数据的操作。 首先,我们需要理解datagrid的核心功能。datagrid控件主要用来显示数据库中的表格数据,它可以自动绑定到数据源,将数据以表格的形式展示出来,...
- Flex中的DataGrid默认只支持单选或全选,但通过自定义实现,可以扩展到三状态多选。这通常涉及到监听`itemClick`事件,维护一个记录选中状态的数组,并更新ItemRenderer的视觉反馈。 - 用户可以通过复选框或者...
在本文中,我们将探讨如何利用Bootstrap这...这个功能在处理大量数据时特别有用,用户可以快速选择多个项目进行批量操作,如删除、编辑等。通过理解并实践这些步骤,你可以轻松地将这个功能整合到你的Bootstrap应用中。
为了确保DataGrid中的CheckBox状态和数据提供者中的状态始终保持同步,我们需要在数据提供者的改变(如添加、删除或更新数据项)时更新CheckBox的状态。可以监听数据提供者的`collectionChange`事件来实现这一点。 ...
文章还提供了一些高级功能的介绍,如如何在DataGrid中隐藏特定列、如何清空表格中的所有数据以及如何实现加载数据后默认全选的效果。隐藏列可以通过在表格头部添加`hidden="true"`属性来实现。而清空数据的示例代码...
3. **单选/多选/全选**:为了方便用户选择特定数据,datagrid提供了单选、多选和全选功能。通过复选框,用户可以选择一行或多行数据,进行后续操作,如编辑、删除或导出。 4. **导出数据**:导出功能允许用户将当前...
DataGrid超级连接列,DataGrid行随鼠标变色,数字格式化,日期格式化,打开新的窗口并传送参数,为按钮添加对话框,删除表格选定记录,删除表格记录警告,关于日期格式,表格超连接列传递参数,清空Cookie ...
删除信息:实现对选中删除信息进行判断,全选删除,删除成功信息等功能! 修改信息:对编辑用户进行信息修改,并弹框提示! 查询信息:可根据条件进行查询! 分页功能:翻页,页面显示行数及总页数,可根据不同...