Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Windows Forms
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2016, 13:03   #1
Lord_Jesus_
Форумчанин
 
Регистрация: 23.09.2016
Сообщений: 169
По умолчанию Cортировка конфликтует с выводом данных из таблицы в ListView

Код:
private void ShowDB()
        {
            SqlCeEngine engine = new SqlCeEngine("Data Source='base.sdf';");
            SqlCeConnection connection = new SqlCeConnection(engine.LocalConnectionString);
            connection.Open();
            SqlCeCommand command = connection.CreateCommand();
            command.CommandText = "SELECT * FROM contacts ORDER BY name";
            SqlCeDataReader dataReader = command.ExecuteReader();
 
            string st; 
            int itemIndex = 0;
 
            listView1.Items.Clear();
 
            while (dataReader.Read())
            {
                for (int i = 0; i < dataReader.FieldCount; i++)
                {
                    st = dataReader.GetValue(i).ToString();
                    switch (i)
                    {
                        case 0:  
                            listView1.Items.Add(st);
                            break;
                        case 1:  
                            listView1.Items[itemIndex].SubItems.Add(st);
                            //listView1.Items.Add(st);
                            break;
                        case 2: 
                            listView1.Items[itemIndex].SubItems.Add(st);
                            break;
                        case 3:  
                            listView1.Items[itemIndex].SubItems.Add(st);
                            break;
                        case 4: 
                            listView1.Items[itemIndex].SubItems.Add(st);
                            break;
                    };
                }
                itemIndex++;
            }
            connection.Close();
        }
ColumnClick

private void ColumnClick1(object o, ColumnClickEventArgs e)
        {
           
            this.listView1.ListViewItemSorter = new ListViewItemComparer(e.Column);
        }

КЛАСС

 class ListViewItemComparer : IComparer
    {
        private int col;
        public ListViewItemComparer()
        {
            col = 0;
        }
        public ListViewItemComparer(int column)
        {
            col = column;
        }
        public int Compare(object x, object y)
        {
            return String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text);
        }
    }
сортировка конфликтует с выводам данных из таблицы в listview

Последний раз редактировалось Alex11223; 28.11.2016 в 14:32.
Lord_Jesus_ вне форума Ответить с цитированием
Старый 28.11.2016, 13:09   #2
Lord_Jesus_
Форумчанин
 
Регистрация: 23.09.2016
Сообщений: 169
По умолчанию

При обновлении listview
ShowDB();

Ошибка вот в этой строчке
return String.Compare(((ListViewItem)x).Su bItems[col].Text, ((ListViewItem)y).SubItems[col].Text);
Lord_Jesus_ вне форума Ответить с цитированием
Старый 28.11.2016, 13:10   #3
Lord_Jesus_
Форумчанин
 
Регистрация: 23.09.2016
Сообщений: 169
По умолчанию

{"InvalidArgument=Значение '7' недопустимо для 'index'.\r\nИмя параметра: index"}
Lord_Jesus_ вне форума Ответить с цитированием
Старый 28.11.2016, 13:11   #4
Lord_Jesus_
Форумчанин
 
Регистрация: 23.09.2016
Сообщений: 169
По умолчанию

Пожалуйста помогите решить проблему и разобраться в ней
Lord_Jesus_ вне форума Ответить с цитированием
Старый 28.11.2016, 13:21   #5
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Что не понятно то? Нужного индекса в массиве нету. Проверяйте сколько элементов в SubItems параметра x и y.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 28.11.2016, 13:24   #6
Lord_Jesus_
Форумчанин
 
Регистрация: 23.09.2016
Сообщений: 169
По умолчанию

сортировка выходит хорошо все сортируется так как надо
но если делаешь обновление listview выходит ошибка ту которую писал

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Проверяйте сколько элементов в SubItems параметра x и y.
а можно по подробнее как это сделать? если вас не затруднит то немогли бы вы это показать на примере в коде
Lord_Jesus_ вне форума Ответить с цитированием
Старый 28.11.2016, 13:56   #7
Lord_Jesus_
Форумчанин
 
Регистрация: 23.09.2016
Сообщений: 169
По умолчанию

Помогите пожалуйста(
Lord_Jesus_ вне форума Ответить с цитированием
Старый 28.11.2016, 14:03   #8
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

курсор поставьте на строчку в коде и нажмите F9. Поставите точку останова. Дальше в отладчике смотрите что там не так.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 28.11.2016, 14:18   #9
Lord_Jesus_
Форумчанин
 
Регистрация: 23.09.2016
Сообщений: 169
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
курсор поставьте на строчку в коде и нажмите F9. Поставите точку останова. Дальше в отладчике смотрите что там не так.
Все тоже самое
{"InvalidArgument=Значение '2' недопустимо для 'index'.\r\nИмя параметра: index"}

Значение только меняется

и выделяет красным вот эти две строчки
x {Text = "37"}
y {Text = "36"}
Lord_Jesus_ вне форума Ответить с цитированием
Старый 28.11.2016, 14:21   #10
Lord_Jesus_
Форумчанин
 
Регистрация: 23.09.2016
Сообщений: 169
По умолчанию

Пробовал делать сортировку без базы данных все нормально работает

Но мне нужна база данных может сможите что нибудь посоветовать
Lord_Jesus_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с выводом данных dr48 Общие вопросы Delphi 2 09.11.2014 21:22
C# Проблемы выводом таблицы PROkaZZZniK Помощь студентам 1 22.11.2011 12:31
Проблема с выводом данных в С++ justso Помощь студентам 3 19.05.2010 11:04
проблема с выводом данных из таблицы. помогите поправить france@ PHP 4 07.01.2009 12:46