crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Работа с tableWidget, Сортировка и поиск
bigory
  опции профиля:
сообщение 2.2.2011, 0:33
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 77
Регистрация: 10.10.2010
Пользователь №: 2099

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всем доброе время суток!
Мне нужно решить 2 задачи, это сортировка таблицы и поиск.
На форме имею элемент tableWidget, та находятся данные: Login, email, ФИО, группа.

1)Как правильно написать функцию сортировки по ФИО?
2)Как сделать поиск по выбранным мною данным и выделить строку, где есть эти данные?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
bigory
  опции профиля:
сообщение 2.2.2011, 12:04
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 77
Регистрация: 10.10.2010
Пользователь №: 2099

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 2.2.2011, 8:13) *
bigory, одна проблема - одна тема.


Я очень извиняюсь, но все мои вопросы касаются одного элемента, тем более они не требуют большие разьяснения. Прошу прощения если я немного нарушаю правила.

Цитата(RazrFalcon @ 2.2.2011, 8:20) *
1) В настройках QTableWidget есть пункт сортировки. Потом можно просто клацать по заголовку столбца.


Это все понятно, но мне бы хотелось чтобы при запуске программа сама все сортировала. Я написал код, но хотелось бы посоветоваться, так как думаю что он не очень правильный и не рациональный. Вот сам код:

void MainWindow::sort()
{
    QString a,b;
    int last = ui->tableWidget->rowCount(); // узнаём последнюю по счёту ячейку
    for(int i=0;i<last;i++)
        for(int j=0;j<last;j++)
        {
            a = ui->tableWidget->item(i,2)->data(0).toString();
            b = ui->tableWidget->item(j,2)->data(0).toString();
            if(a<b){
                       QString Login, email, FastName, group;
                       Login = ui->tableWidget->item(i,0)->data(0).toString();
                       email = ui->tableWidget->item(i,1)->data(0).toString();
                       FastName = ui->tableWidget->item(i,2)->data(0).toString();
                       group = ui->tableWidget->item(i,3)->data(0).toString();

                       QString Login1, email1, FastName1, group1;
                       Login1 = ui->tableWidget->item(j,0)->data(0).toString();
                       email1 = ui->tableWidget->item(j,1)->data(0).toString();
                       FastName1 = ui->tableWidget->item(j,2)->data(0).toString();
                       group1 = ui->tableWidget->item(j,3)->data(0).toString();

                       setUser(j, Login, email, FastName, group);            //Это моя функции добавления данных в ячейки
                       setUser(i, Login1, email1, FastName1, group1);     //i,j-номер ячейкм

                   }
        }
}


Я не стал расписывать подробнее что делает setUser, так как он не маленький, работает с добавлением очень хорошо и вопросов о дабавлении нет.
Код сортировки нормальный или его следует переделать? Или есть какая-то готовая функция которая делает то, что мне нужно?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.4.2024, 18:37