代码如下:
for(int i=0;i<datalist.items.count;i++)
{
((label)datalist.items[i].findcontrol("label1")).text=i;
}
可能是因为你的循环没有处理最后一个元素,循环结束时 i 的值等于 datalist.items.count,而此时最后一个元素的编号还没有被设置。
你可以把循环条件改成 i < datalist.items.count,同时在循环结束后再手动给最后一个元素设置编号,代码如下:
for (int i = 0; i < datalist.items.count; i++)
{
((label)datalist.items[i].findcontrol("label1")).text = i.ToString();
}
// 设置最后一个元素的编号
if (datalist.items.count > 0)
{
((label)datalist.items[datalist.items.count - 1].findcontrol("label1")).text = datalist.items.count.ToString();
}
这样就能保证最后一个元素的编号也能正确显示了。