0
我想选择的列表数据填充树数据未在树视图正在填充从ListView控件
这里是我试图向它
if ListView1.Items[Count].Selected then
begin
Root := ListView1.Items[Count].Caption;
for Itr := TreeView1.Items.Count-1 downto 0 do Begin
if TreeView1.items[itr].Parent.Text = Root then begin
TreeNode := TreeView1.Items[itr].getFirstChild;
Treeview1.Items.AddChild(Treenode,ListView1.Items[Count].SubItems[0]);
break;
end;
end;
end;
但其创造新的节点,并有一个索引错误。
请帮助
你想在第一个地方完成什么?你的ListView是什么样的?当选择ListView时,你的TreeView应该是什么样子?哪一行引发索引错误?你为什么要按照你的方式扫描TreeView?一般来说,使用'TreeView1.Items []'通常效率非常低,但对于向后迭代而言,后向迭代更为重要。此外,如果您碰巧在内部循环中达到索引0,则“TreeView1.Items [0] .Parent”将为零,并且您的代码将会崩溃,从而无法访问“Parent.Text”。 –
您最近问了几个与错误处理Treeview迭代有关的问题。我认为您可能需要重新考虑整个数据存储方法,以便您的TreeView处理更加清晰。 –
[昨天你说转移“发生得很好。”](http://stackoverflow.com/q/36725780/33732)使用你的版本控制工具来检查你现在和之后引入回归的位置。 (如果你不使用版本控制工具,那么你应该从今天开始这样做,Delphi内置的基本功能可能有助于这种有限的情况,因为最近的回归发生了。) –