ListView的查询绑定

这个问题是要实现:在同一个ListView中实现数据的显示和查询。就是第一次加载页面时ListView加载所有数据,然后用户可以在页面中进行查询动作,结果仍然在ListView中显示出来,并且删除等操作绑定依然存在。

第一步,按照普通的绑定操作将ListView与DataSource绑定好,然后DataSource先设置成DAL层中用来查询所有数据的方法,在这里我的方法是 ListAll() 。

第二步,在查询按钮的Click事件中,我们使用如下代码进行查询方法的改变:

protected void Button1_Click(object sender, EventArgs e)
{
    //获取用户输入的查询条件
    string Key = TextBox1.Text;
    //清空查询方法的参数集合(集合中不能有没用的参数)
    ObjectDataSource1.SelectParameters.Clear();

    //检查用户是否输入了查询条件
    if (Key.Trim().Length > 0)
    {
        //若输入了查询条件,则使用带参数的查询方法
        ObjectDataSource1.SelectMethod = "ListByName";
        //新建查询的参数,构造函数依次要传入:参数名、数据类型、参数值
        Parameter param = new Parameter("PosName", System.Data.DbType.String, Key);
        //将参数添加到数据源的查询参数集合中
        ObjectDataSource1.SelectParameters.Add(param);
    }
    else
    {
        //若没有输入查询条件,则仍然使用查询所有的方法
        ObjectDataSource1.SelectMethod = "ListAll";
    }
}

第三步,现在可以运行查看效果了,在改变了SelectMethod后,ListView会自动刷新显示内容。其它操作绑定均无问题。

问题的解决主要就是通过修改DataSource的SelectMethod方法达到更改查询的目的。


输了你,赢了世界又如何...
原文地址:https://www.cnblogs.com/xwgli/p/2962383.html