返回首页
当前位置: 主页 > 编程语言 > C#教程 >

如何从客户端与服务器端过滤与搜索AspxGridView中的数据

时间:2017-01-22 23:06来源:电脑教程学习网 www.etwiki.cn 编辑:admin

一、从客户端搜索AsxpGridView数据
1.数据过滤
(1)调用AutoFilterByColumn()方法实现过滤。
语法1:void AutoFilterByColumn(ASPxClientGridViewColumn column, string val);
语法2:void AutoFilterByColumn(int columnIndex, string val);
语法3:void AutoFilterByColumn(string columnFieldNameOrId, string val);
该方法不会自动清除之前的过滤条件。

(2)调用ApplyFilter实现过滤。
语法:function ApplyFilter(filterExpression : String);
语法:

var filterExpr = document.getElementById("<%=txtFilterExpression.ClientID% >").value;
grid.ApplyFilter(filterExpr);


访方法会自动清除之前的过滤条件。

(3)调用ClearFilter清除过滤条件
语法:function ClearFilter();

二、从服务端搜索AsxpGridView数据
1.数据过滤
(1)调用AutoFilterByColumn()方法可以实现服务端数据过滤。
AutoFilterByColumn语法:void AutoFilterByColumn(GridViewColumn column,string value)

参数说明:
column:要过滤的栏位
value:要过滤的栏位值。可以使用通配符。

示例:数据过滤

protected void btnServerFilter_Click(object sender, EventArgs e)
{
    string filterColumnName = this.ddlFilterColumNames.SelectedValue;
    if (filterColumnName != null)
    {
        GridViewColumn col = this.ASPxGridView1.Columns[filterColumnName] as GridViewColumn;
        this.ASPxGridView1.AutoFilterByColumn(col, this.txtFilterColumnValue.Text);
    }    
}



(2)通过设置过滤工具条让用户自行输入条件过滤数据

this.ASPxGridView1.Settings.ShowFilterBar = GridViewStatusBarMode.Visible;//过滤状态条模式
this.ASPxGridView1.Settings.ShowFilterRow = true;//是否过滤行
this.ASPxGridView1.Settings.ShowFilterRowMenu = true;//是否显示过滤菜单
this.ASPxGridView1.SettingsBehavior.AutoFilterRowInputDelay = 1000;//自动过滤时间间隔(单位:毫秒,默认值:1200)



(3)设置FilterExpression过滤表达式
这是最灵活的一种的方法,可以使用任何有效过滤表达式(包括值比较操作符、逻辑运算符)
例:
LogID  > 23955 and Event like '%审核%'

2.数据搜索
(1)FindVisibleIndexByKeyValue
语法:int FindVisibleIndexByKeyValue(object keyValue)
示例:
//搜索

protected void btnFindKeyValue_Click(object sender, EventArgs e)
{
    string keyValue = this.txtFindKeyValue.Text;
    int logID;
    
    if (keyValue.Length  > 0 && Int32.TryParse(keyValue,out logID))
    {
        int rowIndex = this.ASPxGridView1.FindVisibleIndexByKeyValue(logID);
        if (rowIndex  >= 0)
        {
            this.ASPxGridView1.Selection.UnselectAll();//取消所有行的选择
            this.ASPxGridView1.Selection.SelectRow(rowIndex);//选中指定行
            this.ASPxGridView1.FocusedRowIndex = rowIndex;
            this.ASPxGridView1.MakeRowVisible(logID);
        }
    }
}
------分隔线----------------------------
标签(Tag):AspxGridView
------分隔线----------------------------
推荐内容
猜你感兴趣