请教Lsiview显示的问题!!
读取ListView里面空的项的时候出现 list index out of bound的问题:代码如下:
ListView1->ViewStyle=vsReport;
ListColumn *pCol=0;
pCol=ListView1->Columns->Add();
pCol->Caption="学号";
pCol=ListView1->Columns->Add();
pCol->Caption="姓名";
pCol=ListView1->Columns->Add();
pCol->Caption="成绩";
TListItem *pItem=0;
//添加9行
for(int i=0;i<9;i++)
{
pItem=ListView1->Items->Add();
//第1列
pItem->Caption=String(i+1);
//第2列
pItem->SubItems->Add("bcb群[4670-3864]");
}
我只添加了两列。然后读取第三列的时候出错,该如何判断空的项?
AnsiString r1;
//判断第三列是否为空,不为空就读取出来,但是运行到这来出现越界!!!
if(ListView1->Items->Item[1]->SubItems->Strings[1] ==NULL) r1="";
else
r1 = ListView1->Items->Item[1]->SubItems->Strings[1];
请教下各位大师有啥办法可以读取? bcb?listview
[解决办法]
在初始化时,没有数据也要添加空字符串
如:....->SubItems->Add("");
[解决办法]
你的代码只是添加了两列数据,一个是Caption,一个是SubItems->Strings[0],你却要去读取SubItems->Strings[1],那肯定要越界咯。