根据listview中第二列数据的大小,按照升序将插入数据插入在listview相应位置int i=this.lVw .Items .Count-1;
foreach(ListViewItem item in this.lVw.Items)
{
if(Coil!=item.SubItems [2].Text)//Coil为输入数据的第二列
{
if(this.lVw .Items [i].SubItems [0].Text .CompareTo (this.lVw .Items [i+1].SubItems [0].Text )<0) {
this.lVw .Items .Insert (i,new ListViewItem(new string[]{"0","AH0000T001", "007000", "01","1" ,"2" ,"2"}));
}
}
else
{
}
}
红色部分提示超出范围 ,i的范围有什么问题
foreach(ListViewItem item in this.lVw.Items)
{
if(Coil!=item.SubItems [2].Text)//Coil为输入数据的第二列
{
if(this.lVw .Items [i].SubItems [0].Text .CompareTo (this.lVw .Items [i+1].SubItems [0].Text )<0) {
this.lVw .Items .Insert (i,new ListViewItem(new string[]{"0","AH0000T001", "007000", "01","1" ,"2" ,"2"}));
}
}
else
{
}
}
红色部分提示超出范围 ,i的范围有什么问题
foreach(ListViewItem item in this.lVw.Items)
{
if(Coil!=item.SubItems [2].Text)//Coil为输入数据的第二列
{
if(this.lVw .Items [i-1].SubItems [0].Text .CompareTo (this.lVw .Items [i].SubItems [0].Text )<0) {
this.lVw .Items .Insert (i,new ListViewItem(new string[]{"0","AH0000T001", "007000", "01","1" ,"2" ,"2"}));
}
}
else
{
}
}hope can help you!
foreach(ListViewItem item in this.lVw.Items)
{
if(Coil!=item.SubItems [2].Text)//Coil为输入数据的第二列(错,这里你写的是第3列,项的index是从0开始
{
if(this.lVw .Items [i].SubItems [0].Text .CompareTo (this.lVw .Items [i+1].SubItems [0].Text )<0)//这句具体错在i+1,i+1=lvw.items.cout-1+1=lvw.items.count,lvw是没有i+1这么多项的。index最大也只有this.lVw .Items .Count-1项
{
this.lVw .Items .Insert (i,new ListViewItem(new string[]{"0","AH0000T001", "007000", "01","1" ,"2" ,"2"}));
}
}
else
{
}
}