Найти - Пользователи
Полная версия: Фильтрация в QTable по дате.
Начало » GUI » Фильтрация в QTable по дате.
1 2 3
vic57
http://doc.crossplatform.ru/qt/4.8.x/html-qt/demos-sqlbrowser.html
хороший пример с исходниками
Rodegast
> Ответа на мой вопрос о выборке дат по двум условиям в приведенной вами ссылке не нашел.

Значит плохо искал.
Vady
Rodegast
Значит плохо искал.
Если не желаете помочь человеку конкретным ответом вместо ссылки на документацию, то зачем писать в форум? vic57 мне уже помог со своим более конкретным ответом, так что, спасибо!
Rodegast
> Если не желаете помочь человеку конкретным ответом вместо ссылки на документацию, то зачем писать в форум?

1) Если я даю ссылку на документацию, то значит она содержит исчерпывающую информацию на заданный вопрос.
2) Я так понимаю что “конкретный ответ” в твоём понимании означает “напиши за меня программу”. Это никто делать не будет.
3) Тратить на тебя время я больше не буду.

> vic57 мне уже помог со своим более конкретным ответом

QSqlTableModel скрывает строки в QTableView? Это даже не смешно…
Vady
Rodegast
Если я даю ссылку на документацию, то значит она содержит исчерпывающую информацию на заданный вопрос.
Нет, информация отнюдь не исчерпывающая, нет конкретных примеров. Фильтрация по строковым типам данных - не вариант, тут речь о датах. Погуглил из этой документации несколько методов класса, ничего подходящего не нашел, что и сообщил. И получил ответ: “плохо искал!”

Rodegast
Я так понимаю что “конкретный ответ” в твоём понимании означает “напиши за меня программу”. Это никто делать не будет.
В твоем понимании назвать метод класса или несколько методов класса идентично понятию “написать программу”.

Rodegast
Тратить на тебя время я больше не буду.
Буду рад этому! Сберегу себе время. Здоровья и удачи!
vic57
Vady
vic57 мне уже помог со своим более конкретным ответом, так что, спасибо!
спасибо это гут, а плюс в репу тоже неплохо
1. ты неверно формулируешь свои вопросы -
1.1QTable не существует
1.2 потом оказывается что ты работаешь с БД, это тебе надо знать как запросы к БД делать
1.3 не указаны ни типа БД, ни структура таблицы
Правильный вопрос - 70% правильного ответа, а если ты не знаешь что спросить, то люди не знают, что тебе сказать
для sqlite пример:
 sqlite> sqlite> create table names(id integer primary key autoincrement,name text,begin date,end date);
sqlite> .tables
names
sqlite> .schema names
CREATE TABLE names(id integer primary key autoincrement, name text, begin date, end date);
sqlite> insert into names(name,begin,end) values('vic',date('now'),date('now','+100 days'));
sqlite> insert into names(name,begin,end) values('vic',date('now','-100 days'),date('now'));
sqlite> insert into names(name,begin,end) values('vic',date('now','-100 days'),null);
sqlite> select * from names;
1|vic|2017-02-12|2017-05-23
2|vic|2016-11-04|2017-02-12
3|vic|2016-11-04|
sqlite> select * from names where end <= date('now');
2|vic|2016-11-04|2017-02-12
sqlite> select * from names where end >  date('now');
1|vic|2017-02-12|2017-05-23
sqlite> select * from names where end is null;
3|vic|2016-11-04|
sqlite> select * from names where end is null or end > date('now');
1|vic|2017-02-12|2017-05-23
3|vic|2016-11-04|
sqlite> 



Vady
vic57
Еще раз поясню задачу.
При помощи SQL запроса в таблицу программы занес все данные безо всяких условий WHERE.
Таблица редактируемая пользователем. Это значит, если добавил/отредактировал/удалил записи, то при нажатии на кнопку “Сохранить”, изменения должны отразиться на таблице в БД.
То есть селекты с условиями - однозначно не вариант, т.к. всё, что не попадут в эти условия, при нажатии на кнопку “Сохранить”, будут удалены в таблице БД. Да и дополнительные запросы - лишняя нагрузка на сервер.
По этой причине решил использовать модели.
Самый простой вариант для решения задачи - использовать QSortFilterProxyModel.setFilterFixedString(), что и использовал для других столбцов в своей программе. Но это для строковых данных. А тут - ДАТЫ. Причем, не конкретную дату, а всё, что больше текущей, либо пустое значение.
Как написать SQL-запрос, я не спрашивал, т.к. не в этом суть проблемы, но твоё старание я оценил! Еще раз спасибо!
Плюс за ответ на вопрос по теме, конечно, поставлю!
vic57
Vady
Таблица редактируемая пользователем. Это значит, если добавил/отредактировал/удалил записи, то при нажатии на кнопку “Сохранить”, изменения должны отразиться на таблице в БД.
ты по ходу не различаешь select,update и insert
Vady
vic57
ты по ходу не различаешь select,update и insert
Различаю. К чему сей пост? Для троллинга?
vic57
Vady
При помощи SQL запроса в таблицу программы занес все данные безо всяких условий WHERE.
1. в insert where не применяется
2. право на изменение/удаление записи в БД должен иметь только админ, юзер может только добавить запись, или у тебя не БД, а полная шняга будет.

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB