Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
5 / 5 / 5
Регистрация: 17.12.2013
Сообщений: 202
1

Не присваивается значение лейблу

27.09.2015, 23:35. Показов 1564. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую
Кликните здесь для просмотра всего текста
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
public partial class MainForm : Form
    {
        String date_deleting_from;
        public string message;
        public MainForm()
        {
            InitializeComponent();
            fillcombo();
            dgv_yearmonthaggregation.Visible = false;
            pb_vs.Visible = true;
            groupBox2.Visible = false;
            groupBox3.Visible = false;
            lbl_status.Text = "";
        }
        public void fillcombo()
        {
            this.cb_tabselection.Items.Add("Начислено Posting (76)");
            this.cb_tabselection.Items.Add("Поступления Payments (36)");
            this.cb_tabselection.Text = "Начислено Posting (76)";
        }
 
 
        public void sql_query_deleting_data ()
        {
            if (cb_tabselection.Text == "Начислено Posting (76)")
            {
                lbl_status.Text = "Удаление данные таблицы Posting (76)...";
                Posting_deleting();
                lbl_status.Text = "Удаление данные таблицы Posting (76) завершено";
            } 
            else
                if (cb_tabselection.Text == "Поступления Payments (36)")
                {
                    lbl_status.Text = "Удаление данные таблицы Payments (36)...";
                    Payments_deleting();
                    lbl_status.Text = "Удаление данные таблицы Payments (36) завершено";
                }
        }
 
        public void sql_query_inserting_data ()
        {
            if (cb_tabselection.Text == "Начислено Posting (76)")
            {
                lbl_status.Text = "Добавление данных в таблицу Posting (76)...";
                Posting_inserting ();
            } 
            else
                if (cb_tabselection.Text == "Поступления Payments (36)")
                {
                    lbl_status.Text = "Добавление данных в таблицу Payments (36)...";
                    Payments_inserting ();
                }
        }
 
        private void sql_query_selection_data_to_grid ()
        {
            if (cb_tabselection.Text == "Начислено Posting (76)")
            {
                lbl_status.Text = "Выгрузка данных с таблицы Posting (76)...";
                Posting_selection ();
                lbl_status.Text = "Выгрузка данных с таблицы Posting (76) завершена";
            } 
            else
                if (cb_tabselection.Text == "Поступления Payments (36)")
                {
                    lbl_status.Text = "Выгрузка данных с таблицы Payments (36)...";
                    Payments_selection ();
                    lbl_status.Text = "Выгрузка данных с таблицы Payments (36) завершена";
                }
        }
 
        private void Posting_selection ()
        {
            string constring = @"Data Source=";
            SqlConnection sqlconn = new SqlConnection(constring);
            SqlCommand sqlcomm = new SqlCommand("p_selecting_Posting", sqlconn);
            sqlcomm.CommandType = System.Data.CommandType.StoredProcedure;
            sqlcomm.CommandTimeout = 360;
 
            try
            {
                sqlconn.Open();
                SqlDataAdapter sqladap = new SqlDataAdapter(sqlcomm);
                DataTable dtable = new DataTable();
                sqladap.Fill(dtable);
                BindingSource bso = new BindingSource();
                bso.DataSource = dtable;
                dgv_yearmonthaggregation.DataSource = bso;
                sqladap.Update(dtable);
                              
                sqlconn.Close();
                this.dgv_yearmonthaggregation.ClearSelection();
            }
            catch (Exception ex) { }
 
        }
 
        private void Payments_selection ()
        {
            string constring = @"Data Source=";
            SqlConnection sqlconn = new SqlConnection(constring);
            SqlCommand sqlcomm = new SqlCommand("p_selecting_Payments", sqlconn);
            sqlcomm.CommandType = System.Data.CommandType.StoredProcedure;
            sqlcomm.CommandTimeout = 360;
 
            try
            {
                sqlconn.Open();
                SqlDataAdapter sqladap = new SqlDataAdapter(sqlcomm);
                DataTable dtable = new DataTable();
                sqladap.Fill(dtable);
                BindingSource bso = new BindingSource();
                bso.DataSource = dtable;
                dgv_yearmonthaggregation.DataSource = bso;
                sqladap.Update(dtable);
                
                sqlconn.Close();
                this.dgv_yearmonthaggregation.ClearSelection();
            }
            catch (Exception ex) { }
        }
 
        private void Posting_deleting ()
        {
            string constring = @"Data Source=";
            SqlConnection sqlconn = new SqlConnection(constring);
            SqlCommand sqlcomm = new SqlCommand("p_deleting_Posting", sqlconn);
            sqlcomm.CommandType = System.Data.CommandType.StoredProcedure;
            sqlcomm.CommandTimeout = 360;
            sqlcomm.Parameters.Add("@date", System.Data.SqlDbType.DateTime).Value = dtp_dateselection.Value;
 
            try
            {
                sqlconn.Open();
                sqlcomm.ExecuteNonQuery();
                sqlconn.Close();
            }
            catch (Exception ex) { };
        }
 
        private void Payments_deleting()
        {
            string constring = @"Data Source=";
            SqlConnection sqlconn = new SqlConnection(constring);
            SqlCommand sqlcomm = new SqlCommand("p_deleting_Payments", sqlconn);
            sqlcomm.CommandType = System.Data.CommandType.StoredProcedure;
            sqlcomm.CommandTimeout = 360;
            sqlcomm.Parameters.Add("@date", System.Data.SqlDbType.DateTime).Value = dtp_dateselection.Value;
 
            try
            {
                sqlconn.Open();
                sqlcomm.ExecuteNonQuery();
                sqlconn.Close();
            }
            catch (Exception ex) { };
        }
 
        
        private void btn_selection_Click(object sender, EventArgs e)
        {
            sql_query_selection_data_to_grid();
            dgv_yearmonthaggregation.Visible = true;
            pb_vs.Visible = false;
            groupBox2.Visible = true;
            groupBox3.Visible = true;
        }
 
        private void btn_deleting_Click(object sender, EventArgs e)
        {
            date_deleting_from = dtp_dateselection.Value.ToString("dd.MM.yyyy");
            if (cb_tabselection.Text == "Начислено Posting (76)")
            {
                message = "Удалить данные таблицы Posting (76) c " + date_deleting_from + " ?";
            } 
            else
                if (cb_tabselection.Text == "Поступления Payments (36)")
                {
                message = "Удалить данные таблицы Payments (36) c " + date_deleting_from + " ?";
                }
 
            DelitingWarningForm f = new DelitingWarningForm (message);
            if (f.ShowDialog() == DialogResult.OK)
            {
                sql_query_deleting_data();
                sql_query_selection_data_to_grid();
            }
        }


Не могу понять, почему не выполняются строки

метод sql_query_deleting_data ()
lbl_status.Text = "Удаление данные таблицы Posting (76)...";
lbl_status.Text = "Удаление данные таблицы Payments (36)...";

метод sql_query_selection_data_to_grid ()
lbl_status.Text = "Выгрузка данных с таблицы Posting (76)...";
lbl_status.Text = "Выгрузка данных с таблицы Payments (36)...";

То есть, нужно чтобы после нажатия на кнопки "Выгрузить" и "Удалить", в процессе выполнения этих методов отображались эти тексты.
а в момент окончания, отображались тексты об окончании операции (lbl_status.Text = "Выгрузка данных с таблицы Posting (76) завершена" - и как раз тексты об окончании операции отображаются правильно. Но в момент самой выгрузки лейбл пустой.
Где ошибаюсь?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2015, 23:35
Ответы с готовыми решениями:

Значение присваивается переменной, но не присваивается TexBox
есть функция public static void ControllerInfo(string name, ref string customer, ref int addres)...

Не присваивается значение переменной из-за ошибки в коде
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data;...

Обращение к лейблу
У меня есть форма на ней есть лейблы как будет правильнее изменить их из другого класса? Если...

Макрос: Eсли Х больше Y, то Z присваивается значение Х, в противном случае Z присваивается значение Y
Для проведения отладки макрокоманды составить программу, включающую макрообращение. Макрокоманда,...

6
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
28.09.2015, 01:35 2
Лучший ответ Сообщение было отмечено googlogmob как решение

Решение

C#
1
2
3
4
                lbl_status.Text = "Выгрузка данных с таблицы Posting (76)...";
                lbl_status.Refresh();
                Posting_selection ();
                lbl_status.Text = "Выгрузка данных с таблицы Posting (76) завершена";
Должно помочь. Поток видимо просто загружается и лейбел не перерисовывается вовремя. Лучше длительные операции выполнять асинхронно/в другом потоке.
1
5 / 5 / 5
Регистрация: 17.12.2013
Сообщений: 202
28.09.2015, 11:55  [ТС] 3
EvilFromHell, помогло. Честно говоря не вижу необходимости в этом проекте добавлять второй поток
Может и ошибаюсь
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
28.09.2015, 12:00 4
Ну если время выполнения этого метода достаточно длительное, что можно заметить изменение лейбла, то завешивать на это время поток с формой получится явно некрасиво...
0
5 / 5 / 5
Регистрация: 17.12.2013
Сообщений: 202
28.09.2015, 14:37  [ТС] 5
EvilFromHell, а как правильно можно реализовать мультипоточность в этом проекте?
Не сталкивался еще с этим. в теории знаю, но на практике конечно будет намного понятнее это увидеть на реальном примере
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
28.09.2015, 16:32 6
Я бы наверное через async/await сделал, погуглите про них, сразу вылезет полно примеров. На счет "правильно": мне не слишком понятно назначение вашего кода, многие операции выглядят странно. В общем случае-все методы, какие выполняются длительно, не должны завешивать GUI. А сделать это можно так, как больше нравится.
1
5 / 5 / 5
Регистрация: 17.12.2013
Сообщений: 202
28.09.2015, 18:43  [ТС] 7
EvilFromHell, посмотрю. спасибо еще раз за помощь
0
28.09.2015, 18:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.09.2015, 18:43
Помогаю со студенческими работами здесь

Каждому элементу массива, значение которого четное, присваивается значение первого элемента
Помогите написать программу... С клавиатуры вводится массив(его размер и значение элементов заводит...

Полю нигде не присваивается значение, поэтому оно всегда будет иметь значение null
Пишу программу которая должна png картинки преобразовывать в матрицу (матрица заносится в...

Не присваивается значение
read aa aa="$aa" | cut -d -f2 echo $aa я ввожу "111 8688" а хочу чтобы в переменной aa стало...

Не присваивается значение+
Начал недавно изучать js, юзаю простые примеры, вот не пойму почему код не выводит, или не...


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

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