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

Сортировка по столбцу таблицы DataGrid

05.01.2014, 22:42. Показов 2104. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Мне необходимо, что бы при создании таблицы DataGrid строки сортировались по 1 столбцу. Как это можно сделать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.01.2014, 22:42
Ответы с готовыми решениями:

Сортировка по столбцу
В общем ребят, проблема такая. Для начало само задание : А. Создать таблицу, содержащую сведения...

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

Сортировка DataGridView по столбцу с датой
Здравствуйте! Подскажите пожалуйста, столкнулся недавно с необходимостью отсортировать таблицу по...

Сортировка двумерного массива по конкретному столбцу
Необходимо отсортировать двумерный массив по конкретному столбцу в порядке возрастания/убывания....

7
6280 / 3565 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
06.01.2014, 16:16 2
Что мешает отсортировать источник данных?
0
4 / 4 / 4
Регистрация: 11.10.2013
Сообщений: 123
06.01.2014, 16:45  [ТС] 3
Цитата Сообщение от Петррр Посмотреть сообщение
Что мешает отсортировать источник данных?
Источником данных является .txt файл. Что затрудняет перетасовку данных.
0
6280 / 3565 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
06.01.2014, 16:46 4
Red-Cat-Fat, загрузили файл, распарсили, отсортировала, присоединили к DataGridView. Вы не так делаете? Покажите файл.
0
4 / 4 / 4
Регистрация: 11.10.2013
Сообщений: 123
06.01.2014, 16:47  [ТС] 5
У меня запись в DataGrid идёт напрямую из файла
0
6280 / 3565 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
06.01.2014, 16:48 6
Покажите файл, научу как правильно делать.
0
4 / 4 / 4
Регистрация: 11.10.2013
Сообщений: 123
06.01.2014, 16:54  [ТС] 7
1
Первая группа
05.01.2014 23:04:00

2
Вторая группа
05.01.2014 23:11:47

-1
-1
-1

3
Третья группа
05.01.2014 23:17:59

5
Пятая группа
05.01.2014 23:21:10

4
Четвёртая группа
05.01.2014 23:21:38
Сначала заполняется первая строка таблицы. При чтении переносится на строку файла ниже, записывая в следующий столбец. Когда натыкается на пустую строку - создаётся новая строка в Таблице.
Если -1 чтение пропускается.
0
6280 / 3565 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
06.01.2014, 17:52 8
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
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics;
using System.Runtime.CompilerServices;
 
namespace Ghost
{
    [DebuggerDisplay("{Name}")]
    public class Group : IComparable, IComparable<Group>, INotifyPropertyChanged, INotifyPropertyChanging
    {
        [DebuggerBrowsable(DebuggerBrowsableState.Never)]
        private int id;
 
        [DebuggerBrowsable(DebuggerBrowsableState.Never)]
        private string name;
 
        [DebuggerBrowsable(DebuggerBrowsableState.Never)]
        private DateTime date;
 
        public Group()
        {
        }
 
        public Group(int id, string name, DateTime date)
        {
            this.Id = id;
            this.Name = name;
            this.Date = date;
        }
 
        [DisplayName("Id")]
        public int Id
        {
            get
            {
                return id;
            }
            set
            {
                if (id != value)
                {
                    RaisePropertyChanging();
                    id = value;
                    RaisePropertyChanged();
                }
            }
        }
 
        [DisplayName("Название")]
        public string Name
        {
            get
            {
                return name;
            }
            set
            {
                if (name != value)
                {
                    RaisePropertyChanging();
                    name = value;
                    RaisePropertyChanged();
                }
            }
        }
 
        [DisplayName("Какая-то дата")]
        public DateTime Date 
        {
            get
            {
                return date;
            }
            set
            {
                if (date != null)
                {
                    RaisePropertyChanging();
                    date = value;
                    RaisePropertyChanged();
                }
            }
        }
 
        public int CompareTo(object obj)
        {
            return CompareTo(obj as Group);
        }
 
        public int CompareTo(Group other)
        {
            if (other == null)
                return 1;
            return this.Id.CompareTo(other.Id);
        }
 
        protected virtual void RaisePropertyChanged(
            [CallerMemberName]string propertyName = null)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
 
        protected virtual void RaisePropertyChanging(
            [CallerMemberName]string propertyName = null)
        {
            if (PropertyChanging != null)
                PropertyChanging(this, new PropertyChangingEventArgs(propertyName));
        }
 
        public event PropertyChangedEventHandler PropertyChanged;
 
        public event PropertyChangingEventHandler PropertyChanging;
    }
 
    public class Groups : ObservableCollection<Group>
    {
        public Groups()
        {
        }
 
        public Groups(IEnumerable<Group> groups)
            : base(groups)
        {
        }
 
        public Groups(IList<Group> groups)
            : base(groups)
        {
        }
 
        public virtual void Sort()
        {
            System.Collections.IList list = (System.Collections.IList)base.Items;
            System.Collections.ArrayList.Adapter(list).Sort();
        }
    }
}
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
using System;
using System.Text;
using System.Windows.Forms;
using System.IO;
 
namespace Ghost
{
    public partial class Form1 : Form
    {
        Groups groups;
 
        public Form1()
        {
            InitializeComponent();
            LoadGroups();
            groups.Sort();
            dataGridView1.DataSource = groups;
        }
 
        protected virtual void LoadGroups()
        {
            groups = new Groups();
 
            using (StreamReader reader = new StreamReader("groups.txt", Encoding.Default))
            {
                while (!reader.EndOfStream)
                {
                    string id = reader.ReadLine();
                    string name = reader.ReadLine();
                    string date = reader.ReadLine();
                    string empty = reader.ReadLine();
                    if ((id == "-1") && 
                        (name == "-1") &&
                        (date == "-1"))
                    {
                        continue;
                    }
                    int idValue;
                    DateTime dateValue;
                    if (int.TryParse(id, out idValue) && 
                        (DateTime.TryParse(date, out dateValue)))
                    {
                        groups.Add(new Group(idValue, name, dateValue));
                    }
                }
            }
        }
    }
}
Пример того, как я обычно решаю такие задачи.
Сортировка по столбцу таблицы DataGrid
1
06.01.2014, 17:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.01.2014, 17:52
Помогаю со студенческими работами здесь

Сортировка таблицы по столбцу
Привет всем! Подскажите, пожалуйста, какой SQL-командой можно отсортировать некоторую таблицу...

Сортировка таблицы по определенному столбцу
Здравствуйте, уважаемые программисты. Подскажите, пожалуйста, как отсортировать таблицу (с помощью...

Сортировка по столбцу таблицы Ворд
Вся сложность в том, что имеется 6 столбцов, в 1 м номер по порядку, надо отсортировать данные 2 го...

Сортировка таблицы в Listbox по выбранному столбцу
Не получается отсортировать таблицу в Listbox по выбранному столбцу. Посмотрите, пожалуйста....


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

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