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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TreeView и DataGridView. Создание многоуровнего де 
:(
    Опции темы
skz
Дата 8.8.2012, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 8.8.2012

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



Доброго времени суток. Изучаю C# с неделю , знаний мало , будьте добры , помогите.
Мне нужно создать многоуровневое дерево с помощью компонента TreeView.Данные отображаются в DataGridView Искал много способов организации этого , нашел один довольно простой и понятный мне. Через заполнение словаря. Организовал узлы на 1 уровне , по так информация выглядит не понятно пользователю , так сказать "каша". Хочу организовать ещё узлы 2 уровня ,если я правильно их нумерую, которые бы назывались как колонки таблицы , а в них хранилось бы значения поля. Что-то вроде Root => Column Name => Field , где => это узлы. К сожалению в этом и состоит главная проблема.
Не подскажите , как это сделать ? Или есть более простой метод заполнения TreeView , избегая словарь , следовательно и по другому организовать узлы ?
Прилагаю изображения как должно быть и как на данный момент у меня и сам код моей программы.
Код

namespace Tree
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            this.Size = new Size(1600, 500);
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'releaseBDDataSet.Zakazchiki' table. You can move, or remove it, as needed.
            this.zakazchikiTableAdapter.Fill(this.releaseBDDataSet.Zakazchiki);
 
 
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            treeView1.Nodes.Clear();
 
            Dictionary<string, List<string>> dict = new Dictionary<string, List<string>>();
           
 
            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                string FullName = (string)row.Cells[3].Value;
                string Name = (string)row.Cells[4].Value;
                string INNKPP = (string)row.Cells[5].Value;
                string OGRN = (string)row.Cells[6].Value;
                string UAdres = (string)row.Cells[7].Value;
                string MAdres = (string)row.Cells[8].Value;
                string Req = (string)row.Cells[9].Value;
                string Number = (string)row.Cells[10].Value;
                string OKVED = (string)row.Cells[11].Value;
                string OKPO = (string)row.Cells[12].Value;
                string OKFSOKOPF = (string)row.Cells[13].Value;
                string GDer = (string)row.Cells[14].Value;
                string GBug = (string)row.Cells[15].Value;
                string RNPF = (string)row.Cells[16].Value;
                string RNFCC = (string)row.Cells[17].Value;
                string RNRFOMC = (string)row.Cells[18].Value;
                string OKATO = (string)row.Cells[19].Value;
                
                
 
                if (FullName == null)
                    continue;
 
                if (dict.ContainsKey(FullName))
                {
                    dict[FullName].Add(Name);
                    
                    dict[FullName].Add(INNKPP);
                    
                    dict[FullName].Add(OGRN);
                    dict[FullName].Add(UAdres);
                    dict[FullName].Add(MAdres);
                    dict[FullName].Add(Req);
                    dict[FullName].Add(Number);
                    dict[FullName].Add(OKVED);
                    dict[FullName].Add(OKPO);
                    dict[FullName].Add(OKFSOKOPF);
                    dict[FullName].Add(GDer);
                    dict[FullName].Add(GBug);
                    dict[FullName].Add(RNPF);
                    dict[FullName].Add(RNFCC);
                    dict[FullName].Add(RNRFOMC);
                    dict[FullName].Add(OKATO);
                    
 
                 
                }
                    
               else
                {
                    dict.Add(FullName, new List<string>());
                    dict[FullName].Add(Name);
                    dict[FullName].Add(INNKPP);
                    
                    dict[FullName].Add(OGRN);
                    dict[FullName].Add(UAdres);
                    dict[FullName].Add(MAdres);
                    dict[FullName].Add(Req);
                    dict[FullName].Add(Number);
                    dict[FullName].Add(OKVED);
                    dict[FullName].Add(OKPO);
                    dict[FullName].Add(OKFSOKOPF);
                    dict[FullName].Add(GDer);
                    dict[FullName].Add(GBug);
                    dict[FullName].Add(RNPF);
                    dict[FullName].Add(RNFCC);
                    dict[FullName].Add(RNRFOMC);
                    dict[FullName].Add(OKATO);                
                   
                }                     
            }
            foreach (var kvp in dict)
            {
                TreeNode parent = new TreeNode(kvp.Key);
                foreach (string Child in kvp.Value)
                {
 
                    parent.Nodes.Add(Child);
 
                }
                treeView1.Nodes.Add(parent);
 
            }  
           
        }
 
       
            
        
    }
}




Присоединённый файл ( Кол-во скачиваний: 12 )
Присоединённый файл  Как_всё.png 146,04 Kb
PM MAIL   Вверх
Калинка
Дата 7.2.2013, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 1.8.2011

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



Ещё актуально?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




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


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

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