Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [VC#] TreeView - Заменяются лишние ноды. При добавления нового нода заменяются и  
V
    Опции темы
MuForum
  Дата 30.7.2008, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 4



Доброе время суток.

# Задача: Построить дерево по возрастанию. (В группе должно быть не более 20 элементов. '0-19' - 1 группа; '20-39' - 2 группа и т.д.)
- Задача сама по себе тривиальная до безобразия.
Код

        private void bor_TreeView_Add(int RowIndex, int Code)
        {
            int Section = 0, _Index = 0, _SubIndex = 0;
            Section = (int)(Code / 20);
            // ----
            int _Temp = 0;
            bool Exist = false;
            // ----
            for (int i = 0; i < tv_servers.Nodes.Count; i++)
            {
                _Temp = Convert.ToInt32(tv_servers.Nodes[i].Tag);
                if (_Temp == Section)
                {
                    Exist = true;
                    _Index = i;
                    break;
                }
                else if (_Temp < Section)
                {
                    if (_Index <= i)
                    {
                        _Index = i + 1;
                    }
                }
            }
            // ----
            FileList[RowIndex].Section = Section;
            if (!Exist)
            {
                tv_servers.Nodes.Insert(_Index, "Group-" + Section.ToString() + " (0)");
                tv_servers.Nodes[_Index].Tag = Section;
                tv_servers.Nodes[_Index].ImageIndex = 2;
                tv_servers.Nodes[_Index].SelectedImageIndex = 2;
            }
            // ----
            Exist = false;
            // ----
            for (int i = 0; i < tv_servers.Nodes[_Index].Nodes.Count; i++)
            {
                _Temp = Convert.ToInt32(tv_servers.Nodes[_Index].Nodes[i].Tag);
                if (_Temp == Code)
                {
                    Exist = true;
                    _SubIndex = i;
                    break;
                }
                else if (_Temp < Code)
                {
                    if (_SubIndex <= i)
                    {
                        _SubIndex = i + 1;
                    }
                }
            }
            // ----
            if (!Exist)
            {
                tv_servers.Nodes[_Index].Nodes.Insert(_SubIndex, FileList[RowIndex].Name + "-" + Code.ToString());
                tv_servers.Nodes[_Index].Nodes[_SubIndex].Tag = Code;
                FileList[RowIndex].SubSection = Code;
                tv_servers.Nodes[_Index].Text = "Group-" + Section.ToString() + " (" + tv_servers.Nodes[_Index].Nodes.Count.ToString() + ")";
            }
        }


- Проблема в том, что если в ноде есть уже один элемент, то при добавление нового элемента, у  первого элемента этого нода заменяется имя на имя добавляемого!
- Несколько раз просматривал всё через дебагер, всё нормально, может я что-то не понимаю?!

# До добавления: user posted image;
# После добавления: user posted image;

Это сообщение отредактировал(а) MuForum - 30.7.2008, 10:41


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
Partizan
Дата 30.7.2008, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 18
Всего: 67



кидай проект


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
MuForum
Дата 30.7.2008, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 4



Цитата(Partizan @ 30.7.2008,  10:35)
кидай проект

- Сейчас скину.


# Добавления: - Ппц, сделал новый проект и перенес все используемые функции, и всё работает как надо. (Но без иконок сделал)
- Что-то мне здаётся проблема с иконках...
- Я полюбому сейчас проект скину.


# Добавления: - Не знаю парни, в новом проекте всё апсолютно теже функции, и всё работает как надо, что за фигня не могу понять.

Это сообщение отредактировал(а) MuForum - 30.7.2008, 11:09

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  TTreeView.rar 73,53 Kb


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
MuForum
Дата 30.7.2008, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 4



# for all - Всё парни, нашел где был зарыт гвоздь...
- У меня был связан компонент TreeView с таблицей 'DataGridView', и при изменения значения в ней изменядись некоторые значения в компоненте TreeView.
- Короче надо было поставить проверку ещё одну.
- Благодарю за помощь и извиняюсь за лишнюю тему на форуме  smile 


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0691 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.