Saya memiliki pohon berikut:
Animals
|
|___Zebra
| |__Head
| |__Arms
| |__Legs
|
|___Monkey
|__Head
|__Arms
|__Legs
Setiap hewan memiliki nomor ID yang disimpan di bidang Tag dan nama mereka ada di bidang Nama simpul. Saya ingin menekan tombol yang bertuliskan "Urutkan berdasarkan ID" dan ubah "Zebra" di atas menjadi "14" dll, lalu resor secara numerik. Namun, saya ingin anak-anak tetap menjaga ketertiban kepala, lengan, kaki. Ketika saya menggunakan kode berikut, itu berfungsi, tetapi juga mengurutkan ulang kepala, lengan, kaki menjadi lengan, kepala, kaki. Saya sudah mencoba NodeSorter, tetapi tidak mendapatkan hasil yang berbeda. Saya juga sangat baru mengenal C# jadi saya mungkin salah menerapkannya. :) Saya juga menggunakan node khusus dengan beberapa kolom tambahan untuk menyimpan data dan nilai boolean. Itulah yang dimaksud dengan "JacksNode" di bawah.
Berikut kodenya:
public static void sortByAnimalID(TreeView tv)
{
tv.BeginUpdate();
foreach (TreeNode treeNode in tv.Nodes[0].Nodes)
{
if (((JacksNode)treeNode).IsAnimal)
{
treeNode.Text = Convert.ToString(treeNode.Tag);
treeNode.Name = Convert.ToString(treeNode.Tag);
}
}
tv.Sort();
tv.EndUpdate();
}
Adakah ide tentang kesalahan yang saya lakukan? Saya telah menelusuri web selama dua minggu dan kewalahan dengan semua artikel tampilan pohon. Namun, belum ada satupun yang sespesifik ini. Terima kasih teman-teman atas sarannya.