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

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

13.06.2018, 19:53. Показов 1317. Ответов 2

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
using System;
using System.Windows.Forms;
 
namespace WindowsFormsApplication17
{
    public partial class Form1 : Form
    {
        public int m;
        public Form1()
        {
            InitializeComponent();
            label1.Text = "Сведения о телефонах абонентов";
            button1.Text = "Очистить всё";
            button2.Text = "Узнать абонента";
            label2.Text = "Номер телефона:";
            label3.Text = "";
            button3.Text = "Узнать количество номеров, установленных в ХХХХ году.";
        }
 
        public void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
 
        }
 
        public void button1_Click(object sender, EventArgs e)
        {
            dataGridView1.RowCount = 1;
 
            for (int j = 0; j < dataGridView1.ColumnCount; j++)
            {
                dataGridView1[j, 0].Value = "";
            }
 
            dataGridView1.CurrentCell = dataGridView1[0, 0];
            label3.Text = "";
            textBox1.Text = "";
        }
 
        public void label3_Click(object sender, EventArgs e)
        {
 
        }
 
        public void button2_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < dataGridView1.RowCount; i++)
            {
                if ((Convert.ToString(dataGridView1[2, i].Value)) == textBox1.Text)
                {
                    label3.Text = "Абонентом данного номера: " + textBox1.Text + " является " + dataGridView1[0, i].Value.ToString();
                }
            }
            
           
        }
 
        public void button3_Click(object sender, EventArgs e)
        {
            m = dataGridView1.RowCount;
            Form2 form2 = new Form2();
            form2.form1 = this;
            form2.Show();
        }
 
        public void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
        {
 
        }
 
    }
}
Потом нужно перенести данные из первой формы для сортировки по году. Вот тут и возникает ошибка. Выводит не целую строку, а отдельные элементы с номерами 0.0; 1.1 и т.д.
код:
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
using System;
using System.Windows.Forms;
 
namespace WindowsFormsApplication17
{
    public partial class Form2 : Form
    {
      
        public Form2()
        {
            InitializeComponent();
            label1.Text = "Введите год:";
            button1.Text = "Узнать!";
            button2.Text = "Очистить!";
        }
 
        public Form1 form1;
 
        public void label1_Click(object sender, EventArgs e)
        {
 
        }
 
        public void button1_Click(object sender, EventArgs e)
        {
            int k = 0;
            int q = 0;
            int j = 0;
            for (int i = 0; i < form1.m; i++)
            {
               
                    if ((Convert.ToString(form1.dataGridView1[1, i].Value)) == textBox1.Text)
                    {
                      dataGridView1.RowCount++;
                        dataGridView1[q, k].Value = form1.dataGridView1[j, i].Value;
                       q++;
                       k++;
                       j++;
                    }
                }
            }
Исходная таблица фото 1, проблема фото 2.
Миниатюры
Сортировка по столбцу   Сортировка по столбцу  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2018, 19:53
Ответы с готовыми решениями:

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

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

Сортировка по столбцу таблицы DataGrid
Мне необходимо, что бы при создании таблицы DataGrid строки сортировались по 1 столбцу. Как это...

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

2
645 / 262 / 28
Регистрация: 01.06.2018
Сообщений: 3,323
14.06.2018, 06:44 2
При создании темы пользуйтесь тегами для оформления кода - выделите код пи нажмите C# на панели. Читать неформатированный код в разы сложнее.
0
0 / 0 / 1
Регистрация: 28.05.2018
Сообщений: 18
14.06.2018, 07:30  [ТС] 3
Буду на будущее иметь в виду!
0
14.06.2018, 07:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2018, 07:30
Помогаю со студенческими работами здесь

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

Сортировка массива по столбцу
Есть двумерный массив double w = { {43.8, 960, 8848,1535}, ...

Сортировка двумерного массива по второму столбцу
Добрый вечер уважаемые форумчане! Есть некий массив: string A = new string; A =...

Сортировка двумерного массива по второму столбцу
Всем привет.Подскажите как можно отсортировать четырехмерный массив, например по второму столбцу.

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

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


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

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