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內置的基本功能可能有助於這種有限的情況,因爲最近的迴歸發生了。) –