『壹』 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上。