Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 06.11.2019, 16:22   #1
Kote_Gaeshi
Пользователь
 
Регистрация: 30.10.2014
Сообщений: 15
По умолчанию Сортировка данных в ListView из разных таблиц

дравствуйте уважаемые форумчане. Снова прибегаю к вашей помощи. Необходимо сделать так, чтобы Листвью правильно сортировал полученные из 2 таблиц данные. Это 2 почти идентичные таблицы. Получаемые значения у обоих - дата и текст. Данный код успешно отображает данные в листвью, с сортировкой по дате, но так что сначала в него падают все записи с 1 таблицы, потом, ниже - все со второй. А необходимо сделать так, чтобы записи сортировались вместе вперемешку по дате (сначала новые).
В конструкторе есть такая возможность, но он сортирует только 2 поле (Column1) в который падает текст. А вот Column0 где дата, как по нему отсортировать все записи? Кто нибудь знает?

Код:
private void Kust_Load(object sender, EventArgs e)
        {
            
            comboBoxKust.Items.Clear(); //Ассоциация комбобокса с БД
 
            con.Open();
 
            SqlCommand cmd = con.CreateCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "SELECT * FROM Registration";
            cmd.ExecuteNonQuery();
            DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(dt);
            foreach (DataRow dr in dt.Rows)
            {
                comboBoxKust.Items.Add(dr["Name"].ToString());
 
            }
 
                        
            cc();
            lc();
            lv();
            lv1();
       }
 
 
 
 
public void lv() // Берем данные из первой таблицы
        {
 
            if (con.State == ConnectionState.Closed)
            {
                con.Open();
            }
            SqlCommand cmd1 = con.CreateCommand();
            cmd1.CommandType = CommandType.Text;
            cmd1.CommandText = "SELECT * FROM Registration left join Crash ON Registration.ID = Crash.Crash_reg WHERE " + RegistrationID.ToString() + " = Registration.ID ORDER BY CrashDate DESC";
            cmd1.ExecuteNonQuery();
            DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(cmd1);
            da.Fill(dt);
 
            
            listView1.Items.Clear();
            foreach (DataRow dr in dt.Rows)
                if (dr["Crash"] != System.DBNull.Value)
                {
 
                    ListViewItem item = new ListViewItem(Convert.ToDateTime(dr["CrashDate"]).ToShortDateString());
                    item.SubItems.Add((String)dr["Crash"].ToString());
                    item.ForeColor = Color.Firebrick;                    
                    listView1.Items.Add(item);
                }
 
 
public void lv1() // Берем данные из второй таблицы
        {
 
            if (con.State == ConnectionState.Closed)
            {
                con.Open();
            }
            SqlCommand cmd1 = con.CreateCommand();
            cmd1.CommandType = CommandType.Text;            
            cmd1.CommandText = "SELECT * FROM Registration left join Debugg ON Registration.ID = Debugg.Debugg_reg WHERE " + RegistrationID.ToString() + " = Registration.ID ORDER BY DebuggDate DESC";
            cmd1.ExecuteNonQuery();           
            DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(cmd1);
            da.Fill(dt);    
           
            foreach (DataRow dr in dt.Rows)
                if (dr["Debugg"] != System.DBNull.Value)
                {
                    ListViewItem item = new ListViewItem(Convert.ToDateTime(dr["DebuggDate"]).ToShortDateString());                    
                    item.SubItems.Add((String)dr["Debugg"].ToString());
                    item.ForeColor = Color.Green;
                    listView1.Items.Add(item);                    
                    
                }
                                
 
            con.Close();    
    }
Kote_Gaeshi вне форума Ответить с цитированием
Старый 15.11.2019, 19:47   #2
rUs_LAN
Форумчанин
 
Регистрация: 15.11.2008
Сообщений: 577
По умолчанию

https://www.w3schools.com/sql/sql_union.asp
rUs_LAN вне форума Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчет данных из разных таблиц iSonata Microsoft Office Excel 3 03.10.2019 12:29
Перенос данных из одинаковых таблиц разных баз данных Maxjuvefan SQL, базы данных 5 23.01.2016 21:09
Сортировка и поиск, Добавление и удаление записей в выборке из 6 разных таблиц студентка_диплом БД в Delphi 7 07.04.2012 21:37
размещение в DBGrid данных из разных таблиц KaimNotark БД в Delphi 4 29.01.2010 05:24
сведение данных из разных таблиц в одну SingleSpart Microsoft Office Excel 2 04.08.2009 17:04