日期:2014-05-18  浏览次数:20987 次

菜菜紧急求救
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("980005");
this.lv.Items.Add("970005");
this.lv.Items.Add("960005");
this.lv.Items.Add("950005");
this.lv.Items.Add("940005");//这也是要显示的产品编号,2个都能显示在listview控件上



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(null,null);
ListViewItem lvi = new ListViewItem();

lvi.Tag = lv.Items[i];
// this.textBox1.Tag = lv.Items[i];

lvi.Text = lv.Items[i].ToString().Trim();
// this.textBox1.Text = lv.Items[i].ToString().Trim();

lvi.SubItems.Add(lv.Items[i].ToString().Trim());


lvi.SubItems.Add(lv.Items[i].ToString().Trim());

this.liv.Items.Add( lvi );
return;
}

//这步我想实现在textbox1上要查询的产品编号,能使他在listview控件上选择,
问题是,我在textbox上输入数字(比如我输入“9”) 怎么会是没有该产品呢,那listview上不是明明有9开头的产品吗?想请大虾们帮下帮 看看

------解决方案--------------------
if (lv.Items[i].ToString().indexof(textBox1.Text ) >= 0) 
试试这个

------解决方案--------------------
没找到你IF的大括号在哪里结束.
如果是在最后,那么,你的ListView里根本就没有内容为"9"的项,所以根本不会走进去.

另外,你一上来就liv.Items.Clear(); 把所有的清空了,哪里还会有任何项存在哦.

这是我发现的两个问题,如果我说的不对,那么你可以跟踪一下,看看问题出在哪里.
------解决方案--------------------
if (textBox1.Text == lv.Items[i].ToString() ) 

这个是????
------解决方案--------------------
if (textBox1.Text == lv.Items[i].ToString() ) 
你用的是==,我没看到你的lv中有9的那一项,如果你要找lv中包含9的那一项,还得写代码