datagrid过滤
Ⅰ jquery easyUI datagrid中combobox级联过滤怎么实现
1:准备2个input设置不同的id
<inputid="box1">
<inputid="box2">
2:注册easyui的combobox控件
$('#box1').combobox({
data:[{id:0,text:'广州'},{id:1,text:'上海'}]
valueField:'id',
textField:'text'
});
$('#box2').combobox({
valueField:'id',
textField:'text'
});
3:由box1联动显示box2的数据,设置box1的onSelect事件
$('#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
});
}
});
4:
Ⅱ c# datagrid 字段里的数据进行筛选。
如果你的每条记录都是固定格式的话,用模糊查询找出符合条件的记录后,对信息做截取就可以,但是如果不是固定格式就不太好做了。
Ⅲ easyui的datagrid-filter-row与分页冲突,请问一下这个问题你解决了吗
依稀记得这不是一个bug,他本身的策略就是过滤当前数据,两个解决方案:专1.一次加载全部数属据,或一部分,总之够展示的就ok(推荐)。2.忘了,总之考虑他设计的策略,好像是看你需求是先分页再过滤还是先过滤在分页。
Ⅳ datagrid的loadfilter怎么用
$('#tTable').datagrid({
fit:true,
iconCls:'icon-liebiao',
width:200,
height:450,
singleSelect
:
true,
loadMsg
:
'请稍候......',
nowrap:
false,
striped:
true,
url:'',
sortName:
'id',
sortOrder:
'asc',
remoteSort:
false,
idField:'id',
pageSize
:
20,
showFooter:false,
columns
:
[
[
{
field
:
'base.name',
title
:
'名称',
width
:
100
},
{
field
:
'base.das.base.name',
title
:
'服务器',
width
:
100
},
{
field
:
'base.model.firm.name',
title
:
'厂商',
width
:
100
},
{
field
:
'base.model.name',
title
:
'型号',
width
:
100
}
]
],
loadFilter:function(data){
return
loadFilter(data);
//自定义内过滤方容法
}
Ⅳ WPF Datagrid控件如何得到过滤之后的数据
直接foreach遍历你的ICollectionView即可
ICollectionView的GetEnumerator返回的遍历器遍历的就是filter以后的结果,SourceCollection属性才会返回原始数据
比如,界面上:
<DockPanel>
<ButtonClick="Button_Click"
Content="ShowItems"
DockPanel.Dock="Top"/>
<ListBoxItemsSource="{Binding}"/>
</DockPanel>
后台代码:
publicpartialclassMainWindow:Window
{
_dataSource;
publicMainWindow()
{
InitializeComponent();
_dataSource=newCollectionView(Enumerable.Range(0,10));
//只显示偶数
_dataSource.Filter=(i=>(int)i%2==0);
this.DataContext=_dataSource;
}
privatevoidButton_Click(objectsender,RoutedEventArgse)
{
varmsg=string.Join(",",_dataSource.OfType<int>());
MessageBox.Show("Itemsare: "+msg);
}
}
点按钮以后的结果:
Ⅵ C#中dataGridViewX1控件怎么实现过滤
这个是datagrid中不带的。截图的中的做法是在每个列标题处添加的下拉框,然后回使用下拉框的change事件刷新答datagrid
还有一种是人家下好的控件你下载下来直接使用好了。网络可以网络到。CSDN网站里有这个控件
Ⅶ DataGridView列表有两行记录,如何根据id过滤出其中一条记录
string ID = "01";//要过滤掉的记录的id
foreach (DataGridViewRow dgr in dataGridView1.Rows)//遍历所有记录
{
if (dgr.Cells["id"].Value.ToString() == ID)//判断id列的值是否等回于答ID的值
{
dataGridView1.Rows.Remove(dgr);//从DataGridView中移除该记录
}
}
Ⅷ wpf datagrid针对列的 filter的问题
应该可以自己写,无非就是DataGrid绑定到ObservableCollection<T>集合,实现一下INotifyPropertyChanged接口,列头的CheckBox绑定到对应的属性,属性变化时在相应的OnPropertyChanged事件中改变ObservableCollection<T>集合就是了,判断条件写成:
if(Age=="40")
显示所有Age列小于40的行;
else if(Age=="30")
显示所有Age列小于30的行;
else
.....//
希望对你有帮助,有疑问请追问或是Hi
Ⅸ 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;//分页事件
}
希望能帮到你。
Ⅹ 如何让c#winform 根据datagridview数据筛选 filter
1、筛选某个字段满足指定条件的记录
DataView dv = myDs.Tables[0].DefaultView;
dv.RowFilter = "Year=1427";
gv.DataSource = dv;
Year这个是myDs.Tables[0]的一个字段。这样就是只有Year的值等于专1427的记录绑定gv控件。
2、用属RowFilter对指定列进行模糊匹配
我们都知道sql语句里面有like '%x%' 这样的表达式可以对列进行模糊查询。其实DataView的RowFilter也可以的代码:
dv.RowFilter="Name like '%lanhusoft%'";
这样dv只显示Name字段包含lanhusoft的数据行。
3、多个条件筛选行
RowFilter还可以有多个条件,比如:
dv.RowFilter="Name like '%lanhusoft%' and Year=1427","and"将两个条件结合起来了,表示只返回两个条件要同时满足的
的行记录。