排序的TStringList错误 - 排序列表上不允许操作

时间:2013-02-22 21:50:12

标签: delphi delphi-2010

我收到以下错误 - “排序列表中不允许操作”

Idx:= Customers.IndexOfName(ListView1.Selected.Caption);
Customers[idx]:= Edit1.Text + '=' + Edit2.Text + ',' + Edit3.Text //error occurs here 

这有什么办法吗?除了写我自己的例程来获取索引值

感谢名单

1 个答案:

答案 0 :(得分:9)

将自己的例程写入获取索引值显然无济于事,因为这不是问题所在。您不能直接修改已排序列表的元素,因为这样做可能会使排序顺序无效。

从列表中删除该项目并插入新项目。

Customers.Delete(idx);
Customers.Add(Edit1.Text + '=' + Edit2.Text + ',' + Edit3.Text);

或者,设置Sorted := False