当前位置: 首页 > 图文教程 > .Net技术 > ADO.NET > ADO.NET:ListView控件添加搜索功能

ADO.NET
ADO.NET:小编谈ADO.NET中窗体的飘动
ADO.NET:利用IC卡制作考勤程序
ADO.NET:小编谈如何实现滚动字幕
Remoting笔记:错误:“由于安全限制,无法访问类型System.RunTime.Remoting.ObjRef”

ADO.NET 中的 ADO.NET:ListView控件添加搜索功能


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 381 ::
收藏到网摘: n/a

ListView控件有两种不同的方式提供搜索功能:文本匹配位置搜索,即使用ListView控件的FindItemWithText方法和FindNearestItem方法来实现。FindItemWithText方法允许在处于列表或详细信息视图的ListView上执行文本搜索,要求给定搜索字符串和可选的起始和结束索引。FindNearestItem方法允许在处于图标或平铺视图的ListView中查找项,要求给定一组X坐标和Y坐标以及一个搜索方向。

下面的实例演示使用FindItemWithText方法来搜索。

(1)       创建一个ListViewView属性设置为DetailsList,然后用项填充该ListView

(2)       调用FindItemWithText方法,向其传递要查找的项的文本。

 运行程序,选择FindItemWithText窗体,在窗体文本框中输入要查找的内容,主要代码如下:

Private void textBox1_TextChanged(object sender,EventArgs e)

{

ListViewItem foundItem=listView1.FindItemWithText(textBox1.Text,false,0,true);

If(foundItem!=null)

{

    listView1.TopItem=foundItem;

    listView1.FindItemWithText(textBox1.Text,false,0,true).BackColor=color.Beige;

}

Else

{

MessageBox.Show(“没有找到信息”);

textBox1.Text=””;
    }

}

小编提示:代码中索引0”表示第一列,本代码功能是在第一列中搜索。

下面的实例是使用FindNearestItem方法来搜索。

(1)       创建一个ListViewView属性设置为DetailsList,然后用项填充该ListView

(2)       调用FindItemWithText方法,向其传递要查找的项文本。

        主要代码如下:

        Private void listView1_MouseDown(object sender,MouseEventArgs e)

        {

          ListViewItem foundItem=this.listView1.FindNearestItem(SearchDirectionHint.Up,e.X,e.Y);

          If(foundItem!=null)

           This.textBox1.Text=foundItem.Text;

          Else

            This.textBox1.Text=”No item found”;

        }