Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/106: Рейтинг темы: голосов - 106, средняя оценка - 4.79
68 / 41 / 14
Регистрация: 24.02.2013
Сообщений: 250

Сортировка DataGridView по столбцу с датой

05.03.2015, 11:24. Показов 21538. Ответов 6

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Подскажите пожалуйста, столкнулся недавно с необходимостью отсортировать таблицу по столбцу, в котором хранится дата. Естественно, все данные в DataGridView представлены строкой.
И при использовании стандартного метода DataGridView.Sort(DataGrtidView.Columns[0], ListSortDirection.Ascending)(в данном случае, сортировка по возрастанию) у меня сортировка происходит не совсем верно.

Пример сортировки в вложениях к теме.

Вот сам код программы:
Кликните здесь для просмотра всего текста

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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private DataGridView DataTable = new DataGridView();
 
        private static Random r = new Random();
 
        public Form1()
        {
            InitializeComponent();
            //Настраиваем форму
            {
                this.Size = new Size(640, 480);
                this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
                this.MaximumSize = this.Size;
                this.MinimumSize = this.Size;
                this.StartPosition = FormStartPosition.CenterScreen;
                this.Text = "Пример программной сортировки таблицы DataGridView";
                //Добавляем событие при отображении формы(для того, чтобы сперва отобразить изначальные данные, а потом отсортированные данные
                this.Shown += this.OnShow;
            }
            //Добавляем таблицу
            {
                this.Controls.Add(this.DataTable);
                //Добавляем столбцы
                {
                    this.DataTable.Columns.Add("Column_01", "Номер строки");
                    this.DataTable.Columns.Add("Column_02", "Дата добавления строки");
                }
                //Добавляем строки
                {
                    for (int i = 0; i < 50; i++)
                    {
                        this.DataTable.Rows.Add(new List<String>() { i.ToString(), new DateTime(r.Next(1000, 3000), r.Next(1, 13), r.Next(1, 29)).ToShortDateString() }.ToArray());
                    }                    
                }
                //Настраиваем отображение таблицы
                {
                    this.DataTable.Size = this.ClientSize;
                    this.DataTable.AllowUserToAddRows = false;
                    this.DataTable.AllowUserToDeleteRows = false;
                    this.DataTable.AllowUserToOrderColumns = false;
                    this.DataTable.AllowUserToResizeColumns = false;
                    this.DataTable.AllowUserToResizeRows = false;
                    this.DataTable.ReadOnly = true;
                    this.DataTable.RowHeadersVisible = false;
                    this.DataTable.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
                }                
            }
        }
 
        private void OnShow(Object Sender, EventArgs E)
        {
            MessageBox.Show("После закрытия данного диалога будет выполнена сортировка по дате добавления строки...", "Сообщение");
            SortData();
        }
 
        private void SortData()
        {
            //А вот теперь, сортируем данные
            //Сортировка будет по возрастанию
            {
                this.DataTable.Sort(this.DataTable.Columns[1], ListSortDirection.Ascending);
            }
        }
    }
}


Подскажите пожалуйста, как мне "правильно" отсортировать таблицу по дате?
Миниатюры
Сортировка DataGridView по столбцу с датой   Сортировка DataGridView по столбцу с датой  
1
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.03.2015, 11:24
Ответы с готовыми решениями:

Сортировка по столбцу в datagridview
У меня есть класс, он выводится в datagridview, мне необходимо отсортировать его по полю articles и вывести отсортированные данные снова в...

Сортировка по столбцу dataGridView
Здравствуйте! Можно обратиться?! У меня сортируются данные по всем столбцам нормально. Когда, например, я захотела отсортировать по...

Сортировка данных в таблице по столбцу с датой
Доброго вечера. Очень нужна ваша помощь . Задача стоит следующая. Есть таблица из следующих столбцов (№ п п , ФИО, Должность, Дата...

6
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
05.03.2015, 13:11
Лучший ответ Сообщение было отмечено Jack Wade как решение

Решение

Цитата Сообщение от Jack Wade Посмотреть сообщение
как мне "правильно" отсортировать таблицу по дате?
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
 
namespace WindowsFormsApplication1 {
    public partial class Form1 : Form {
        public Form1() {
            InitializeComponent();
            this.Load += new EventHandler(Form1_Load);
            button1.Click += new EventHandler(button1_Click);
        }
 
        void button1_Click(object sender, EventArgs e) {
            DataTable sortedDt = ((DataTable)dataGridView1.DataSource).AsEnumerable()
                .OrderBy(row => row.Field<DateTime>("column_2")).CopyToDataTable();
            dataGridView1.DataSource = null;
            dataGridView1.DataSource = sortedDt;
        }
 
        void Form1_Load(object sender, EventArgs e) {
            DataTable dt = new DataTable();
            Random r = new Random();
            dt.Columns.AddRange(new DataColumn[]{
                new DataColumn("column_1", typeof(int)),
                new DataColumn("column_2", typeof(DateTime))
            });
            for (int i = 0; i < 10; i++) {
                DataRow row = dt.NewRow();
                row.ItemArray = 
                    new object[] { i, new DateTime(r.Next(1990, 2015), r.Next(1, 13), r.Next(1, 31)) };
                dt.Rows.Add(row);
            }
            dataGridView1.DataSource = dt;
        }
    }
}
3
68 / 41 / 14
Регистрация: 24.02.2013
Сообщений: 250
05.03.2015, 18:45  [ТС]
Во время работы программы было вызвано исключение:
"Необработанное исключение типа System.ArgumentNullException в System.Data.DataSetExtensions.dll"...

Код:
C#
1
2
DataTable SortDataTableValues = this.DataTable.DataSource as DataTable;
SortDataTableValues = SortDataTableValues.AsEnumerable().OrderBy(row => row.Field<DateTime>(SortDataTableValues.Columns[1] as DataColumn)).CopyToDataTable();//Как я заметил в описании Field-можно указать как столбец, так и его "название"(в моём случае-Column_02), пытался и через имя, и так, как показано в коде... Результат один и тот же(ну, "мало ли")...
Я дописал только эти 2 строки сразу, после вызова метода SortData()... Ничего не изменял в самой таблице.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
05.03.2015, 18:49
Цитата Сообщение от Jack Wade Посмотреть сообщение
Во время работы программы было вызвано исключение:
Дайте весь код или проект.
0
68 / 41 / 14
Регистрация: 24.02.2013
Сообщений: 250
05.03.2015, 18:51  [ТС]
Всё, что есть на данный момент...

Кликните здесь для просмотра всего текста

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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private DataGridView DataTable = new DataGridView();
 
        private static Random r = new Random();
 
        public Form1()
        {
            InitializeComponent();
            //Настраиваем форму
            {
                this.Size = new Size(640, 480);
                this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
                this.MaximumSize = this.Size;
                this.MinimumSize = this.Size;
                this.StartPosition = FormStartPosition.CenterScreen;
                this.Text = "Пример программной сортировки таблицы DataGridView";
                //Добавляем событие при отображении формы(для того, чтобы сперва отобразить изначальные данные, а потом отсортированные данные
                this.Shown += this.OnShow;
            }
            //Добавляем таблицу
            {
                this.Controls.Add(this.DataTable);
                //Добавляем столбцы
                {
                    this.DataTable.Columns.Add("Column_01", "Номер строки");
                    this.DataTable.Columns.Add("Column_02", "Дата добавления строки");
                }
                //Добавляем строки
                {
                    for (int i = 0; i < 50; i++)
                    {
                        this.DataTable.Rows.Add(new List<String>() { i.ToString(), new DateTime(r.Next(1990, DateTime.Now.Year + 1), r.Next(1, 13), r.Next(1, 29)).ToShortDateString() }.ToArray());
                    }                    
                }
                //Настраиваем отображение таблицы
                {
                    this.DataTable.Size = this.ClientSize;
                    this.DataTable.AllowUserToAddRows = false;
                    this.DataTable.AllowUserToDeleteRows = false;
                    this.DataTable.AllowUserToOrderColumns = false;
                    this.DataTable.AllowUserToResizeColumns = false;
                    this.DataTable.AllowUserToResizeRows = false;
                    this.DataTable.ReadOnly = true;
                    this.DataTable.RowHeadersVisible = false;
                    this.DataTable.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
                }                
            }
        }
 
        private void OnShow(Object Sender, EventArgs E)
        {
            MessageBox.Show("После закрытия данного диалога будет выполнена сортировка по дате добавления строки...", "Сообщение");
            SortData();
            MessageBox.Show("Таблица, как бы, отсортирована по дате...\nБыть может, есть проблемы с сортировкой(т.е. у меня тут в примере не всегда правильно сортирует.\nВообще, сортировка происходит в зависимости от содержимого ячейки(т.е. по строкам), по этому, естественно, возможны логические ошибки сортировки.\nЛучше всего, если необходимо отсортировать данные просто тупо отсортировать список/массив, а после этого, \"перестроить\" таблицу(удалить старые строки, и занести новые).\n\nНажмите ОК для продолжения...", "Сообщение");
            //А теперь, "правильная" сортировка:
            {
                DataTable SortDataTableValues = this.DataTable.DataSource as DataTable;//Получаем источник данных, представленный, как таблицу с данными
                SortDataTableValues = SortDataTableValues.AsEnumerable().OrderBy(row => row.Field<DateTime>(SortDataTableValues.Columns[1] as DataColumn)).CopyToDataTable();
                //Пояснение строки:
                /*
                 * Представляем таблицу, как перечисление(AsEnumerable), и используем метод сортировки OrderBy, в котором указываем, с указанием того, что сортироваться будет по Column_02, представленный, как DateTime
                 * Ну, опять же, на сколько я понял...
                 */
                this.DataTable.Rows.Clear();
                this.DataTable.DataSource = SortDataTableValues;
            }
        }
 
        private void SortData()
        {
            //А вот теперь, сортируем данные
            //Сортировка будет по возрастанию
            {
                this.DataTable.Sort(this.DataTable.Columns[1], ListSortDirection.Ascending);
            }
        }
    }
}
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
05.03.2015, 20:46
Jack Wade, не особо разобрался в вашем коде. Вот мой проект, код которого был выше. Может поможет вам...
Вложения
Тип файла: rar Архив WinRAR.rar (40.8 Кб, 157 просмотров)
1
68 / 41 / 14
Регистрация: 24.02.2013
Сообщений: 250
07.03.2015, 10:58  [ТС]
Большое спасибо!
Задача была решена!

Ошибка была ранее моя: Я ошибся в коде DataSource(в общем, где мы делали вторую таблицу и через AsEnumirated OrderBy(или как то так...) сортировали).

Вот весь код с частичным пояснением(быть может, кому то это всё дело так же, пригодится):

Кликните здесь для просмотра всего текста

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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace _Visual_C_Sharp__Сортировка_DataGrid
{
    public partial class Form1 : Form
    {
        private static Random r = new Random();
 
        private DataGridView MainDataTable = new DataGridView();
 
        public Form1()
        {
            InitializeComponent();
            //Настройка формы
            {
                this.Text = "(Visual C#) Программная сортировка таблицу";
                this.Size = new Size(800, 400);
                this.MaximumSize = this.Size;
                this.MinimumSize = this.Size;
                this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
                this.StartPosition = FormStartPosition.CenterScreen;
                this.BackColor = Color.White;
            }
            //Добавление таблицы на форму
            {
                this.Controls.Add(this.MainDataTable);
                {
                    //Добавление столбцов и строк
                    this.MainDataTable.Columns.Add("Column_01", "Дата и время");
                    this.MainDataTable.Columns.Add("Column_02", "Число");
                    this.MainDataTable.Columns.Add("Column_03", "Строка");
                    this.MainDataTable.Columns.Add("Column_04", "Логика");
                    //Указываем тип данных
                    this.MainDataTable.Columns[0].DefaultCellStyle.Format = "dd.mm.yyyy";//Указываем тип данных по умолчанию для 1го столбца, как дата и время в формате ДД.ММ.ГГГГ(Дата.Месяц.Год)
                    this.MainDataTable.Columns[1].DefaultCellStyle.Format = "##.0";//Указываем тип данных по умолчанию для 2го столбца, как числовой
                    //Как задать строковый тип - не в курсе...
                    //Как задать логический тип - не в курсе...
                    //Добавляем случайные строки
                    {
                        for (int i = 0; i < 15; i++) this.MainDataTable.Rows.Add(
                                                                                   new DateTime(r.Next(1990, DateTime.Now.Year + 1), r.Next(1, 13), r.Next(1, 29)).ToShortDateString(),
                                                                                   r.Next(1, 101).ToString(),
                                                                                   r.Next(1000, 10000).ToString(),
                                                                                   (r.Next(1, 3) % 2 == 0).ToString()
                                                                                );
                    }
                    this.MainDataTable.Size = this.ClientSize;
                    this.MainDataTable.AllowUserToAddRows = false;
                    this.MainDataTable.AllowUserToDeleteRows = false;
                    this.MainDataTable.AllowUserToOrderColumns = false;
                    this.MainDataTable.AllowUserToResizeColumns = false;
                    this.MainDataTable.AllowUserToResizeRows = false;
                    this.MainDataTable.ReadOnly = true;
                    this.MainDataTable.RowHeadersVisible = false;
                    this.MainDataTable.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
                    //Указываем тип данных
                    this.MainDataTable.Columns[0].DefaultCellStyle.Format = "dd.mm.yyyy";//Указываем тип данных по умолчанию для 1го столбца, как дата и время в формате ДД.ММ.ГГГГ(Дата.Месяц.Год)
                    this.MainDataTable.Columns[1].DefaultCellStyle.Format = "##.0";//Указываем тип данных по умолчанию для 2го столбца, как числовой
                }
                //Теперь, добавляем событие при отображении таблицы/формы
                this.Shown += this.OnFormShow;
            }
        }
 
        private void OnFormShow(Object Sender, EventArgs E)
        {
            //Сортировка при помощи метода Sort
                //Первым входным параметром является столбец(можно указать сам столбец, либо его индификатор/имя), а вторым параметром будет метод сортировки(по возрастанию Ascending или по убыванию Descending)...
            MessageBox.Show("Сейчас будет выполнена сортировка таблицы стандартным методом Sort по первому столбцу...\nСортируем по возростанию\n\nДля выполнгения сортировки нажмите ОК.", "Сообщение");
            this.MainDataTable.Sort(this.MainDataTable.Columns[0], ListSortDirection.Ascending);
            MessageBox.Show("Сейчас будет выполнена сортировка таблицы стандартным методом Sort по первому столбцу...\nСортируем по убыванию\n\nДля выполнгения сортировки нажмите ОК.", "Сообщение");
            this.MainDataTable.Sort(this.MainDataTable.Columns[0], ListSortDirection.Descending);
            MessageBox.Show("Сейчас будет выполнена сортировка таблицы стандартным методом Sort по второму столбцу...\nСортируем по возрастанию\n\nДля выполнгения сортировки нажмите ОК.", "Сообщение");
            this.MainDataTable.Sort(this.MainDataTable.Columns[1], ListSortDirection.Ascending);
            MessageBox.Show("Сейчас будет выполнена сортировка таблицы стандартным методом Sort по второму столбцу...\nСортируем по убыванию\n\nДля выполнгения сортировки нажмите ОК.", "Сообщение");
            this.MainDataTable.Sort(this.MainDataTable.Columns[1], ListSortDirection.Descending);
            MessageBox.Show("Сейчас будет выполнена сортировка таблицы стандартным методом Sort по третему столбцу...\nСортируем по возрастанию\n\nДля выполнгения сортировки нажмите ОК.", "Сообщение");
            this.MainDataTable.Sort(this.MainDataTable.Columns[2], ListSortDirection.Ascending);
            MessageBox.Show("Сейчас будет выполнена сортировка таблицы стандартным методом Sort по третему столбцу...\nСортируем по убыванию\n\nДля выполнгения сортировки нажмите ОК.", "Сообщение");
            this.MainDataTable.Sort(this.MainDataTable.Columns[2], ListSortDirection.Descending);
            MessageBox.Show("Сейчас будет выполнена сортировка таблицы стандартным методом Sort по четвёртому столбцу...\nСортируем по возрастанию\n\nДля выполнгения сортировки нажмите ОК.", "Сообщение");
            this.MainDataTable.Sort(this.MainDataTable.Columns[3], ListSortDirection.Ascending);
            MessageBox.Show("Сейчас будет выполнена сортировка таблицы стандартным методом Sort по четвёртому столбцу...\nСортируем по убыванию\n\nДля выполнгения сортировки нажмите ОК.", "Сообщение");
            this.MainDataTable.Sort(this.MainDataTable.Columns[3], ListSortDirection.Descending);
            //Пытаемся отсортировать при помощи DataSource
                //Сортируем по первому столбцу по возрастанию(это уже чисто для примера)
            {
                DataTable DT = new DataTable();//Создаём новый "временный" DataTable/Таблицу данных
                DT.Columns.AddRange(new DataColumn[]{//Указываем добавление сразу нескольких столбцов
                                                        new DataColumn("Column_01", typeof(DateTime)),//Каждому новому столбцу указываем наименование/имя и тип данных
                                                        new DataColumn("Column_02", typeof(Int32)),
                                                        new DataColumn("Column_03", typeof(String)),
                                                        new DataColumn("Column_04", typeof(Boolean))
                                                    });
                List<String> ListOfHeaderTextColumns = new List<String>();//Создаём "временный" список, в котором будут наименования столбцов
                for (int i = 0; i < this.MainDataTable.ColumnCount; i++)//Объявляем цикл прохода по всем столбцам
                {
                    ListOfHeaderTextColumns.Add(this.MainDataTable.Columns[i].HeaderText);//Добавляем в список наименования столбцов(это нам понадобится несколько позже
                }
                for (int i = 0; i < this.MainDataTable.RowCount; i++)//Выполняем цикл прохода по всем строкам
                {
                    DataRow NewRow = DT.NewRow();//Создаём новую строку такого же типажа, как строка из DT
                    NewRow.ItemArray = new object[] { Convert.ToDateTime(this.MainDataTable[0, i].Value), Convert.ToInt32(this.MainDataTable[1, i].Value), Convert.ToString(this.MainDataTable[2, i].Value), Convert.ToBoolean(this.MainDataTable[3, i].Value) };//Заносим новые данные в строку
                    DT.Rows.Add(NewRow);//Добавляем новую строку в DT
                }
                this.MainDataTable.Columns.Clear();//Очищение стролбцов в исходной таблице
                this.MainDataTable.Rows.Clear();//Очищаем строки в исходной таблице
                this.MainDataTable.DataSource = null;//Сбрасываем источник данных
                MessageBox.Show("А вот сейчас будет выполнена сортировка через DataTable//DataSource...\nСортировка по возростанию\n\nНажмите ОК для продолжения...", "Сообщение");
                DT = DT.AsEnumerable().OrderBy(row => row.Field<DateTime>("Column_01")).CopyToDataTable();//Выполняем саму сортировку по возростанию
                //Для того, чтобы отсортировать по убыванию, необходимо использовать OrderByDescending
                this.MainDataTable.DataSource = DT;//Указываем источник данных, как новый DataTable(отсортированная таблица)
                for (int i=0; i<ListOfHeaderTextColumns.Count; i++)//Задаём цикл по всем столбцам в новой таблице(ну, по сути, в новой)
                {
                    this.MainDataTable.Columns[i].HeaderText = ListOfHeaderTextColumns[i];//Тут мы через цикл восстанавливаем заголовок столбцов
                }
            }
        }
    }
}


P.S. Если я этого не указывал-то(быть может, опять же) замечу, что при сортировке столбцов, хранящих дату в виде строки происходит сортировка только по дню, а вот месяц и год не учитываются. В методе сортировки через OrderBy с использованием DataSource/DataTable всё сортируется, как надо. И ещё, по числу так же, не идёт сортировка(вернее, как бы, она идёт, но, как я понял, длинна строки должна быть обязательно одинаковой у обоих чисел в строке, которые сравниваем(как можно заметить, будет идти 1, потом 11, 12, 1n, после 2, 21, 22, 2n, и т.д.).
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.03.2015, 10:58
Помогаю со студенческими работами здесь

Сортировка datagridview по столбцу с разными типами данных
Доброго времени суток, простите, если где-то было, но гугл ничего не дает по запросу. Задача: Имеется datagridview, в которой имеются...

Как отсортировать массив по столбцу с датой (CDate)?
Не хочет никак 'цепляться' дата. VB 'видит' ее только как 'первые два символа' или как число...запятая...месяц, но это не дата, т.к. нужен...

Как перенести строки с совпадающей датой из одного datagridview во второй datagridview
Два datagridview, не привязанные к источникам данных. Один из них пустой, другой содержит столбцы, первый столбец содержит данные из...

Поиск по столбцу в datagridview
Здравствуйте. В общем, есть у меня форма, где я из txt-файла вывожу инфу в datagridview. Потом я на второй форме, которую вызываю через...

Поиск по столбцу dataGridView
Здравствуйте! Такой вопрос. Есть кнопка, при нажатие на него добавляется в первом столбце dataGridView сегодняшняя дата. Теперь хочу...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru