Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
7 / 10 / 9
Регистрация: 02.12.2009
Сообщений: 483
1

Реализация afterselect в treeview

27.12.2009, 23:34. Показов 1392. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
на форме1 есть treeview и datagridview оба заполняются из БД при помощи хранимок
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
public Form1()
        {
            InitializeComponent();
            UpdateTree();            
        }
        public void Add(int id)
        {
            Form2 f = new Form2();
            if (DialogResult.Yes == f.ShowDialog())
            {
                sqlConnection1.Open();
                try
                {
                    SqlCommand cmd = new SqlCommand("StoredProcedure1",sqlConnection1);
                    cmd.CommandType = CommandType.StoredProcedure;
                    SqlParameter param = cmd.Parameters.Add("RETURN_VALUE", SqlDbType.Int);
                    param.Direction = ParameterDirection.ReturnValue;
                    cmd.Parameters.Add("@idn_name", SqlDbType.Int).Value = id;
                    cmd.Parameters.Add("@name", SqlDbType.VarChar).Value = f.a;
                    cmd.ExecuteNonQuery();
                    int tree_id = (int)cmd.Parameters["RETURN_VALUE"].Value;
                    cmd = new SqlCommand("StoredProcedure2", sqlConnection1);
                    cmd.CommandType=CommandType.StoredProcedure;
                    param = cmd.Parameters.Add("RETURN_VALUE", SqlDbType.Int);
                    param.Direction = ParameterDirection.ReturnValue;
                    cmd.Parameters.Add("@idm_parent", SqlDbType.Int).Value = tree_id;
                    cmd.Parameters.Add("@fname", SqlDbType.VarChar).Value = f.b;
                    cmd.ExecuteNonQuery();
                    int grid=(int)cmd.Parameters["RETURN_VALUE"].Value;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message,"Ошибка");
                }
                sqlConnection1.Close();
            }
        }
        public void UpdateTree()
        {
            dataSet11.Clear();
            sqlDataAdapter1.Fill(dataSet11);
            treeView1.Nodes.Clear();
            Create(0, (TreeNode)null);
        }        
        public void Create(int id, TreeNode tn)
        {
            DataView dv = new DataView(dataSet11.Tables[0]);
            dv.RowFilter = "[idn_name]=" + id;
            foreach (DataRowView row in dv)
            {
                int idd = Int32.Parse(row["idn"].ToString());
                TreeNode tc = treeView1.Nodes.Add(row["name"].ToString());
                tc.Tag = idd;
                Create(idd, tc);                
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (treeView1.SelectedNode != null)
            {
                int id = (int)treeView1.SelectedNode.Tag;
                Add(id);
                UpdateTree();
            }
            else
            {
                if (treeView1.SelectedNode == null)
                {
                    Add(0);
                    UpdateTree();
                }
            }
           
        }
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            int id=(int)treeView1.SelectedNode.Tag;
            DataView dvv = new DataView(dataSet21.Tables[0]);
            dvv.RowFilter = "[idm_parent]=" + id;
            dataSet21.Clear();
            sqlDataAdapter2.Fill(dataSet21);
        }
    }
как реализовать AFTER SELECT в моём представленном варианте он не работает.при выборе одного элемента в treeview он просто добавляет ещё одну строку Где ошибка?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.12.2009, 23:34
Ответы с готовыми решениями:

Как написать обработчик TreeView.AfterSelect для динамического дерева?
Добрый день! Помогите, пожалуйста. Как создать treeView1.AfterSelect, если treeview1...

TextBox теряет фокус переданный ему по событию AfterSelect компонента TreeView
Доброго дня всем, В обработчике события AfterSelect компонента TreeView есть код...

Реализация TreeView
Здравствуйте, уважаемые форумчане! Пойму, если эту тему сразу же закроют, т.к. по видимому тема...

Qt->QML(реализация TreeView)
Добрый день. Имеются *.htm файлы. На Qt реализовали их отображение на TreeView с помощью...

0
27.12.2009, 23:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.12.2009, 23:34
Помогаю со студенческими работами здесь

Реализация привязки содержимого TreeView на XAML
Добрый день. Помогите, пожалуйста, разобраться. У меня есть UserControl в виде xaml. В нём есть...

Как присвоить серверному контроллу TreeView коллекцию из TreeView, в котором находится информация из БД
Здравствуйте, в общем я кидаю на страницу TreeView и хочу его динамически заполнять, но сразу куча...

Опросник. Создание дерева зависимостей в treeView, сохранение дерева в XML, построение дерева в treeView из XML
Всем доброго времени суток. Тема является продолжением вот этой темы. Создаю 2ю, так как там...

Treeview
Связь Treeview и DBGrid


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru