我现在有一个listview控件,显示有N个产品的编号,我现在想加个textbox控件,想实现在textbox控件里面输入某个产品部分编号,它就会在listview上自动查找产品编号,不知道怎样实现阿?

解决方案 »

  1.   

    本人代表本人严正声明: 
    此主帖在全世界只有一个沙发。沙发两边的扶手同属于一个沙发。任何企图想制造两个或两个以上沙发的,或是一个沙发一个板凳的行为,都必将遭到包括中国人民在内的全世界人民的反对和强烈谴责!在TextBox控件的Change事件中写入代码,然后再去ListView的ListItems里面去遍历搜索定位就可以了
      

  2.   

    只要实现textbox怎么和listview控件连接起来的也可以
      

  3.   

    这句不是很明白,请大虾说下在TextBox控件的Change事件中写入代码是什么意思啊?
    怎么在事件中写代码阿?不是都是在textbox双击后跳出来的目录下写的吗?
    本人刚学  请指点
      

  4.   

    在TextBox的TextChange事件里面写
      

  5.   

    http://blog.sina.com.cn/tangojay如果LZ说的是用TEXTBOX以及LISTVIEW生成如同GOOGLE搜索栏那种功能的话,看上面的网站,有说方法
      

  6.   

    不是,我只想实现,在N多得产品中,我输入关键的数字(比方数字1到10000,我在textbox控件上输入989,listview控件上就自动跳到989这个位子或是9开头的第一位)只是这样。。
      

  7.   

    不知道这个是不是你想要的
    this.listView1.SelectedItems.Clear();
    ListViewItem _liv = new ListViewItem(this.textBox1.Text);
    foreach (ListViewItem liv in this.listView1.Items)
    {
    if(liv.Text == _liv.Text)
    {
    liv.Selected=true;
    break;
    }
    }记的设置他的 HideSelection=false
      

  8.   

    这个是在TextBox的TextChange事件里面写的
      

  9.   

    写在文本框的KeyPress事件里,这样每输入一个数字都会触发这个事件,然后得到输入内容,在listview的产品编号那个subitem里查找第一个并显示.
      

  10.   

    private void Form1_Load(object sender, System.EventArgs e)
    {
    this.lv.Items.Add(new ListViewItem(new string[]{"000005"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"000004"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"000003"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"000002"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"000001"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"000006"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"000007"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"000008"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"000988"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"000055"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"000046"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"000059"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"000069"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"000057"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"000058"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"000056"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"000054"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"000053"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"000052"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"000051"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"000050"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"000060"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"980005"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"970005"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"960005"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"950005"}));
    this.lv.Items.Add(new ListViewItem(new string[]{"940005"}));
    } private void lv_SelectedIndexChanged(object sender, System.EventArgs e)
    {
    for (int i=0;i<lv.Items.Count;i++)
    {
    ListViewItem lvi = new ListViewItem();
    // TextBox bo = new TextBox();
    lvi.Tag = lv.Items[i];
    //     this.textBox1.Tag = lv.Items[i];
    // bo.Tag      = lv.Items[i];
    lvi.Text = lv.Items[i].ToString().Trim();
    // this.textBox1.Text = lv.Items[i].ToString().Trim();
    // bo.Text     = lv.Items[i];
    lvi.SubItems.Add(lv.Items[i].ToString().Trim());

    lvi.SubItems.Add(lv.Items[i].ToString().Trim());
    // lvi.SubItems.Add(dt.Rows[i][3].ToString());
    // lvi.SubItems.Add(dt.Rows[i][4].ToString());
    //     lvi.SubItems.Add(dt.Rows[i][5].ToString());

    this.liv.Items.Add( lvi );
    return;
    }
    } private void textBox1_TextChanged(object sender, System.EventArgs e)
    {
    liv.Items.Clear();
    for (int i=0;i<lv.Items.Count;i++)
    {
    if (textBox1.Text == lv.Items[i].ToString() )
    {
    lv_SelectedIndexChanged();
    }
    else MessageBox.Show("没有相关产品");
    //这句提示说重载方法未获取0参数。是哪错了呢,还是我这样写的代码本身就已经错了呢?
    return;
    }
    }
    希望大虾们指点下。
      

  11.   

    lv_SelectedIndexChanged(); 
    //这句提示说重载方法未获取0参数。是哪错了呢,还是我这样写的代码本身就已经错了呢? 是这句上面错了
      

  12.   

    liv.Item[i].Selected = true;