В настоящее время я работаю с mono и gtk #. Что касается TreeView, то это Tutorial. Я хочу получить то же самое, что представлено в разделе «Управление использованием модели» Итак, у меня есть класс песни и методы рендеринга для отображения исполнителя и названия.GTK # treeview отображение иерархических данных
Но я хочу отображать его через TreeStore вместо ListStore. Так что у меня есть Rootnode для каждой буквы, и под этим узлом должны отображаться все Художники, начинающиеся с этой буквы.
Моя проблема: как добавить эти RootNodes в TreeStore? И где я должен их добавлять?
songs.Add(new Song("Dancing Djs vs. Roxette", "Fading like a flower"));
songs.Add(new Song("Xaiver","give me the right"));
songs.Add(new Song("Daft Punkt","Technologic"));
TreeStore musicListStore = new TreeStore(typeof(Song));
foreach (var s in songs)
{
musicListStore.AppendValues(s);
}
treeview1.Model = musicListStore;
treeview1.AppendColumn("Artist", new CellRendererText(),new TreeCellDataFunc(RenderArtistName));
treeview1.AppendColumn("Title", new CellRendererText(),new TreeCellDataFunc(RenderSongTitle));
private void RenderArtistName(TreeViewColumn column, CellRenderer cell, TreeModel model, TreeIter iter)
{
Song s = model.GetValue(iter,0) as Song;
(cell as CellRendererText).Text = s.Artist;
}
private void RenderSongTitle(TreeViewColumn column, CellRenderer cell, TreeModel model, TreeIter iter)
{
Song s = model.GetValue(iter,0) as Song;
(cell as CellRendererText).Text = s.Title;
}
Так я хочу, чтобы добиться того, что есть RootNodes для каждой буквы, и под каждой буквой должно быть все художники перечисленное, начиная с этой буквы.
Моя проблема заключается в том, как добавить письмо в TreeStore plus, как узнать, где вставлять каждую песню.
Вот скриншот, как я хотел бы, чтобы это выглядело, как (. Я не разрешено загружать их непосредственно, поэтому мне пришлось использовать внешний принимал SRY.): Screenshot
у вас есть некоторый код до сих пор показать нам? – IanNorton