菜菜求救!!!!!!!

cwb210 2008-07-11 03:15:26
我现在有一个listview控件,显示有N个产品的编号,我现在想加个textbox控件,想实现在textbox控件里面输入某个产品部分编号,它就会在listview上自动查找产品编号,不知道怎样实现阿?
...全文
190 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
bbbbbb888888 2008-07-14
  • 打赏
  • 举报
回复
liv.Item[i].Selected = true;
cwb210 2008-07-14
  • 打赏
  • 举报
回复
怎么没人呢?还是我写的代码大虾们看不明白呢?呵呵不要被我的代码搞得糊涂去哦,,
来个大虾指点下阿
cwb210 2008-07-14
  • 打赏
  • 举报
回复
lv_SelectedIndexChanged();
//这句提示说重载方法未获取0参数。是哪错了呢,还是我这样写的代码本身就已经错了呢?

是这句上面错了
cwb210 2008-07-14
  • 打赏
  • 举报
回复
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;
}
}


希望大虾们指点下。
xiaoqiuwyh 2008-07-11
  • 打赏
  • 举报
回复
写在文本框的KeyPress事件里,这样每输入一个数字都会触发这个事件,然后得到输入内容,在listview的产品编号那个subitem里查找第一个并显示.
zzyhuian06142 2008-07-11
  • 打赏
  • 举报
回复
这个是在TextBox的TextChange事件里面写的
zzyhuian06142 2008-07-11
  • 打赏
  • 举报
回复
不知道这个是不是你想要的
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
cwb210 2008-07-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 JTFLSH 的回复:]
http://blog.sina.com.cn/tangojay

如果LZ说的是用TEXTBOX以及LISTVIEW生成如同GOOGLE搜索栏那种功能的话,看上面的网站,有说方法
[/Quote]
不是,我只想实现,在N多得产品中,我输入关键的数字(比方数字1到10000,我在textbox控件上输入989,listview控件上就自动跳到989这个位子或是9开头的第一位)只是这样。。
JTFLSH 2008-07-11
  • 打赏
  • 举报
回复
http://blog.sina.com.cn/tangojay

如果LZ说的是用TEXTBOX以及LISTVIEW生成如同GOOGLE搜索栏那种功能的话,看上面的网站,有说方法
zzyhuian06142 2008-07-11
  • 打赏
  • 举报
回复
在TextBox的TextChange事件里面写
cwb210 2008-07-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jjkk168 的回复:]

在TextBox控件的Change事件中写入代码,然后再去ListView的ListItems里面去遍历搜索定位就可以了
[/Quote]
这句不是很明白,请大虾说下在TextBox控件的Change事件中写入代码是什么意思啊?
怎么在事件中写代码阿?不是都是在textbox双击后跳出来的目录下写的吗?
本人刚学 请指点
cwb210 2008-07-11
  • 打赏
  • 举报
回复
只要实现textbox怎么和listview控件连接起来的也可以
还想懒够 2008-07-11
  • 打赏
  • 举报
回复
本人代表本人严正声明:
此主帖在全世界只有一个沙发。沙发两边的扶手同属于一个沙发。任何企图想制造两个或两个以上沙发的,或是一个沙发一个板凳的行为,都必将遭到包括中国人民在内的全世界人民的反对和强烈谴责!

在TextBox控件的Change事件中写入代码,然后再去ListView的ListItems里面去遍历搜索定位就可以了

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧