『壹』 easyui datagrid loadFilter怎么条件过滤数据
给你一个我写好的分页方法:
functionpagerFilter(data){//分页事件
if(typeofdata.length=='number'&&typeofdata.splice=='function'){ //isarray
data={
total:data.length,
rows:data
}
}
vardg=$(this);
varopts=dg.datagrid('options');
varpager=dg.datagrid('getPager');
pager.pagination({
onSelectPage:function(pageNum,pageSize){
dg.datagrid('loading');
setTimeout(function(){
opts.pageNumber=pageNum;
opts.pageSize=pageSize;
pager.pagination('refresh',{
pageNumber:pageNum,
pageSize:pageSize
});
dg.datagrid('loadData',data);
},1);
},
onChangePageSize:function(pageSize){
vardgID=dg.attr("id");
$.cookie(dgID,pageSize,{expires:365});
}
});
if(!data.originalRows){
data.originalRows=(data.rows);
}
if(!opts.remoteSort&&opts.sortName){
vartarget=this;
varnames=opts.sortName.split(',');
varorders=opts.sortOrder.split(',');
data.originalRows.sort(function(r1,r2){
varr=0;
for(vari=0;i<names.length;i++){
varsn=names[i];
varso=orders[i];
varcol=$(target).datagrid('getColumnOption',sn);
varsortFunc=col.sorter||function(a,b){
returna==b?0:(a>b?1:-1);
};
r=sortFunc(r1[sn],r2[sn])*(so=='asc'?1:-1);
if(r!=0){
returnr;
}
}
returnr;
});
}
varmaxPage=Math.ceil(data.originalRows.length/parseInt(opts.pageSize));
maxPage=maxPage==0?1:maxPage;
opts.pageNumber=maxPage<opts.pageNumber?maxPage:opts.pageNumber;
varstart=(opts.pageNumber-1)*parseInt(opts.pageSize);
varend=start+parseInt(opts.pageSize);
data.rows=(data.originalRows.slice(start,end));
returndata;
}
$("#grid").datagrid({
.....前面的属性略
loadFilter:pagerFilter
});
其实吧,我觉得,反正我用的时候,所有的Grid都是需要这个分页方法的。所以,我就直接把grid的默认值改掉。这样,就不用每个grid都去绑定loadFilter了。
if($.fn.datagrid){
$.fn.datagrid.defaults.loadFilter=pagerFilter;//分页事件
}
希望能帮到你。
『贰』 如何对datagridview中的数据进行模糊查找
把DGV数据放到datatable
DataTable dt = new DataTable();
for (int j = 0; j < ucgrd.Columns.Count; j++)
{
dt.Columns.Add(ucgrd.Columns[j].HeaderCell.Value.ToString());
}
for (int j = 0; j < ucgrd.Rows.Count; j++)
{
DataRow dr = dt.NewRow();
for (int i = 0; i < ucgrd.Columns.Count; i++)
{
if (ucgrd.Rows[j].Cells[i].Value != null)
{
dr[i] = ucgrd.Rows[j].Cells[i].Value.ToString();
}
else
{
dr[i] = "";
}
}
dt.Rows.Add(dr);
}
------------------------------------------以下为过滤代码
DataView dv = new DataView();
dv.Table= dt;//存放楼上的DT
dv.RowFilter= "car_id= '1000 ' "; //条件,支持"fieldname like '%tes%' "
DataGridview1.DataSource=dv;
DataGridview1.DataBind();
好好看注释,稍微改改就好
『叁』 jquery easyUI datagrid中combobox级联过滤怎么实现
1:准备2个input设置不同的id
<inputid="box1">
<inputid="box2">
$('#box1').combobox({
data:[{id:0,text:'广州'},{id:1,text:'上海'}]
valueField:'id',
textField:'text'
});
$('#box2').combobox({
valueField:'id',
textField:'text'
});
$('#box1').combobox({
onSelect:function(record){
varregion=[];
if(record.id==0){//如果城市是广州
region.push={id:0101,text:"黄埔区"};
region.push={id:0102,text:"天河区"};
}elseif(record.id==1){//如果城市是上海
region.push={id:0101,text:"浦东区"};
region.push={id:0102,text:"松江区"};
}
//给box2赋值
$('#box2').combobox({
data:region
});
}
});
『肆』 如何将datagridview中的数据进行筛选
lz可以用dataTable做为数据源绑定到dgv,然后用datatable的过滤功能,会把过滤后的数据自然显示在dgv上。