当窗体加载的时候创建了:
listView1.View = View.Details;
listView1.Columns.Add("条码号", 230, HorizontalAlignment.Left);
当窗体中的textbox控件发生回车事件时,向ListView中添加输入的数据:
ListViewItem list = new ListViewItem();
list.Text = textBoxBarcode.Text;//获取文本框的内容
//下面不明白了,我的想法是当listview中不存在list时,将list插入到listview中,可是不管用,还是可以插入重复的数据.
if(!listView1.Items.Contains(list)){
listView1.Items.Insert(0,list);
}
listView1.View = View.Details;
listView1.Columns.Add("条码号", 230, HorizontalAlignment.Left);
当窗体中的textbox控件发生回车事件时,向ListView中添加输入的数据:
ListViewItem list = new ListViewItem();
list.Text = textBoxBarcode.Text;//获取文本框的内容
//下面不明白了,我的想法是当listview中不存在list时,将list插入到listview中,可是不管用,还是可以插入重复的数据.
if(!listView1.Items.Contains(list)){
listView1.Items.Insert(0,list);
}
list.Text = textBoxBarcode.Text;//获取文本框的内容
if(!listView1.Items.Contains(list)){
listView1.Items.Insert(0,list);
}问题是listView1.Items. Contains()方法调用的是Equal方法,而你每次都是
创建的新的ListViewItem (ListViewItem list = new ListViewItem(); )。因此
肯定是能够插入的。
因此建议你可以创建自己的类,从ListViewItem 继承,但是改写Equal方法,这样就可以了
private bool IsExistsItem(string text)
{
foreach(ListViewItem item in listView1.Items)
{
if(item.Text==text)
return true;
}
return false;
}//调用
ListViewItem list = new ListViewItem();
list.Text = textBoxBarcode.Text;//获取文本框的内容
if(!IsExistsItem(list.Text)){
listView1.Items.Insert(0,list);
}
{
ListViewItem lv = lv_Sell.Items[i];
if(lv.SubItems["索引"].Text == "自己定义")
{
}
else
{
}
}
{
ListViewItem lv = lv_Sell.Items[i];
if(lv.SubItems["索引"].Text == "自己定义")
{
}
else
{
}
}lv_Sell 这个我自己命名的ListView ...