Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для GENDALF_ISTARI
16 / 33 / 19
Регистрация: 20.08.2013
Сообщений: 740
.NET 3.x

Заполнение dataGridView используя backgroundWorker зависание в цикле

05.05.2015, 19:37. Показов 1029. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Столкнулся с проблемой backgroundWorker в заполнении таблицы
темы в гугле вообще ни на мека нету
но проблема остается вот текст

"kmkm"
"-kollp"
"ij9ijm"
"km0"
"kmom"
"8hyuhun"
"9jijio"
"kjn9ijj"
"kn0o,"
"88888p,l"
"6ftgtg"
"k-,l,"
"65ff"
"6tgy"
"5drfnk"
"6tgyh"
"9uuj"
"6tggy"

Идея свича много розовое использование backgroundWorker

это код программы
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            open_file();
        }
 
        private void open_file()
        {
            Stream myStream = null;
            OpenFileDialog openFileDialog1 = new OpenFileDialog();
            openFileDialog1.Title = "TEST";
            openFileDialog1.InitialDirectory = Environment.CurrentDirectory;
            openFileDialog1.Filter = "All files (STR)|*.str";
            openFileDialog1.FilterIndex = 2;
            openFileDialog1.RestoreDirectory = true;
 
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
 
                string[] liness = File.ReadAllLines(openFileDialog1.FileName, Encoding.GetEncoding(1251));
                lin = liness;
                operation = 1;
                dataGridView1.Rows.Clear();
                backgroundWorker1.RunWorkerAsync();
 
            }
        }
 
        private int operation = 0;
        private string[] lin { get; set; }
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            switch (operation)
            {
                case 0:
                    break;
                case 1:
                   // progressBar1.Maximum = lin.Length-1;
                    for (int i = 0; i < lin.Length; i++)
                    {
                        if (lin[i].Trim().StartsWith("\"") == true)
                        {
                            
                            dataGridView1.Rows.Add(lin[i]);
                            label1.Text = "Lines: " + (dataGridView1.Rows.Count - 1);
 
                        }
                        backgroundWorker1.ReportProgress(i);
                        
 
 
                    }
                    break;
                case 2:
                    break;
                case 3:
                    break;
                case 4:
                    break;
                default:
                    MessageBox.Show("Не верная опирация");
                    break;
                    
            }
        }
 
        private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
           progressBar1.Value = e.ProgressPercentage;
        }
 
        private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            if (e.Cancelled == true)
            {
                //resultLabel.Text = "Canceled!";
                MessageBox.Show("Отмена!");
            }
            else if (e.Error != null)
            {
                //resultLabel.Text = "Error: " + e.Error.Message;
                MessageBox.Show("Error!");
            }
            else
            {
                //resultLabel.Text = "Done!";
                MessageBox.Show("Done!");
            }
        }
    }
}
Вот проект программы и файл в комплекте 98.str для открытия с текстом
Подскажите товарищи как решить ?
Вложения
Тип файла: rar WindowsFormsApplication3.rar (50.6 Кб, 1 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.05.2015, 19:37
Ответы с готовыми решениями:

Заполнение dataGridView в цикле
Имеется textbox содержащий очень длинное слово. Имеется дата грид например с 5 столбцами и 5 строчками. Как перенести текст из текстбокса в...

Заполнение цифрами ячеек datagridView в цикле
Хочу чтобы в ячейках заполнялись данные з числами каждые 2,4,8 разы менялись(типа каждые 2:rows=1 rows=1 rows=0 rows=0 ) и не могу найти...

DataGridView в Цикле FOR как сделать заполнение?
Здравствуйте добрые люди. Всю голову сломал, не могу понять как мне заполнить DataGridView из цикла.... в цикле получаю данные из SQL и...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.05.2015, 19:37
Помогаю со студенческими работами здесь

DataGridView: добавление строк и заполнение их данными в цикле
Подскажите пожалуйста, в чем ошибка? private void wr() { for (int i = 0; i &lt; 10; i++) ...

Зависание с ProgressBar и BackgroundWorker
учу винформс, если конкретнее ProgressBar... проблема такая: изначально прогресбар невидим, после нажатия на кнопку начинает работу функция...

Зависание в цикле
После выхода из for(), через break, j перестаёт увеличиваться. Почему? int j = 1; do { for ( ; j &lt; 5; ++j) ...

Зависание в цикле
D:=Date; DataModule1.QOther.SQL.Add('select * from clients where date_next=:date'); ...

Обновление данных в Datagridview из БД при использовании BackgroundWorker
Решил попробовать при обращении к базе использовать информационное окошко с текстом &quot;Выполняется запрос&quot; и прогрессбаром. Есть...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru