欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » AspxGridView使用教程 » 正文

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

创建时间:2011年11月27日 15:20  阅读次数:(6900)
分享到:
一、从客户端搜索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);
        }
    }
}
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf】

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论1条
  • #1楼  评论人:匿名  评论时间:2012-3-9 17:21:54
  • 谢谢,收藏了。
发表评论:
留言人:
内  容:
请输入问题 28+99=? 的结果(结果是:127)
结  果: