Програми для обліку

Українське програмне забезпечення з відкритим кодом

Gtk

Дописи

Програмування / Gtk

02.02.2024 20:32 Gtk

Переміщення рядків в кінець списку в TreeView

Функція переміщає виділені рядки у TreeView в кінець списку

C#
void Down(TreeView TreeViewGrid)
{
    if (TreeViewGrid.Selection.CountSelectedRows() != 0 && TreeViewGrid.Model.IterNChildren() > 1)
    {
        List<TreeIter> TreeIterList = [];
        TreePath[] selectionRows = TreeViewGrid.Selection.GetSelectedRows();

        //Цикл по виділених рядочка і добавлення у тимчасовий список
        foreach (TreePath itemPath in selectionRows)
        {
            Store.GetIter(out TreeIter iter, itemPath);
            TreeIterList.Add(iter);
        }

        //Цикл по тимчасовому списку і добавлення в кінець копії виділених рядків
        foreach (TreeIter treeIter in TreeIterList)
        {
            TreeIter newIter = Store.Append();

            //Цикл по стовпчиках
            for (int i = 0; i < Store.NColumns; i++)
                Store.SetValue(newIter, i, Store.GetValue(treeIter, i));
        }

        //Видалення виділених рядків. Цикл проходить у зворотньому порядку
        foreach (TreePath itemPath in selectionRows.Reverse())
        {
            Store.GetIter(out TreeIter iter, itemPath);
            Store.Remove(ref iter);
        }
    }
}

© accounting.org.ua - 2024