Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Ehlib

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

Vladkyr

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Grande
А зачем нужен этот код? Grid сам переключает сортировку колонок при нажатии на названия колонок.

Всего записей: 26 | Зарегистр. 28-12-2006 | Отправлено: 15:14 23-03-2012
Grande



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladkyr
Переключает только значки, а сортировку-то ручками надо делать
У меня PostgreSQL, сортировка с помощью SQL.

Всего записей: 588 | Зарегистр. 18-09-2003 | Отправлено: 15:24 23-03-2012
Vladkyr

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Grande
А почему не делать этого по событию грида SortMarkingChanged?

Всего записей: 26 | Зарегистр. 28-12-2006 | Отправлено: 15:33 23-03-2012
Samotek

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Grande

Цитата:
Переключает только значки, а сортировку-то ручками надо делать
У меня PostgreSQL, сортировка с помощью SQL.  

 
Ну есть событие OnSortMarkingChanged. А для универсальности посмотри организацию сортировки в модулях EhLib\DataService\Others\

Всего записей: 2448 | Зарегистр. 18-05-2005 | Отправлено: 15:35 23-03-2012
Grande



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Ну есть событие OnSortMarkingChanged.  

Так ведь в том то и дело, что changed не происходит при попытке нагло присвоить
Код:
Column.Title.SortMarker := smUpEh;

Почему?!!!

Всего записей: 588 | Зарегистр. 18-09-2003 | Отправлено: 10:23 24-03-2012 | Исправлено: Grande, 10:23 24-03-2012
PowerChute



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В чем проблема?
На событие OnSortMarkingChanged делаем:
  r_Truck := SQL2Record_Truck (Q_Truck, oper_Select);
  loc_Truck := r_Truck.Key;  // запоминаем Key строки, чтобы маркер поставить туда-же после сортировки
  pr_ReadSort; // строим строку ORDER BY в зависимости от нажатых заголовков
  pr_AddSQL;  // заново вызываем запрос
  pr_ShowStatusBar;  // обновляем статусбар
 
Всё.
-------------------------
procedure TForm_Truck.pr_ReadSort;
var i : Integer;
begin
  sort_Truck := gc_NoChar;
  for i := 0 to DBGrid.SortMarkedColumns.Count - 1 do
   if DBGrid.SortMarkedColumns[i].Title.SortMarker = smUpEh then
     sort_Truck := sort_Truck + DBGrid.SortMarkedColumns[i].FieldName + ' DESC , '
   else
     sort_Truck := sort_Truck + DBGrid.SortMarkedColumns[i].FieldName + ', ';
  if sort_Truck <> gc_NoChar then sort_Truck := ' ORDER BY ' + Copy (sort_Truck, 1, Length (sort_Truck) - 2);
  sort_Truck := fn_DeleteStrSort (sort_Truck, '1');
end;


----------
Хочешь всего и сразу, а получаешь ничего и постепенно.

Всего записей: 519 | Зарегистр. 13-10-2004 | Отправлено: 11:11 24-03-2012
Grande



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PowerChute
Хм... Что-то не подумал я про такую возможность... Сейчас попробую.
И все-таки, почему не срабатывает Column.Title.SortMarker := smUpEh;? Глюк?

Всего записей: 588 | Зарегистр. 18-09-2003 | Отправлено: 11:23 24-03-2012
PowerChute



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Grande
Я сильно не разбирался в сорцах EhLib, но при смене версий мой текст работает уже лет пять-шесть. Как сделал, так и работает.

----------
Хочешь всего и сразу, а получаешь ничего и постепенно.

Всего записей: 519 | Зарегистр. 13-10-2004 | Отправлено: 14:26 24-03-2012
Grande



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PowerChute
Самое смешное то, что у меня в проекте ДВА грида DBGridEh, один ведет себя по-человечески, а второй ни в какую. Я уже голову сломал - не пойму, в чем дело.

Всего записей: 588 | Зарегистр. 18-09-2003 | Отправлено: 15:23 24-03-2012
Grande



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Заметил интересную особенность.
Ежели написать так:

Код:
 
procedure TfrmManager.grdReportTitleBtnClick(Sender: TObject; ACol: Integer; Column: TColumnEh);
begin
  grdReport.Columns.Items[Column.Index].Title.SortMarker := smUpEh;
 
  exit;
 
  grdReportOrder := #13#10 + 'order by ' + grdReport.Columns.Items[Column.Index].Title.Caption;
  (grdReport.DataSource.DataSet as TUniQuery).SQL.Text := SQL_Temp + grdReportOrder;
  (grdReport.DataSource.DataSet as TUniQuery).Open;
end;
 

то значок сортировки появляется, а ежели убрать exit, то оного значка нет.
Что бы это могло значить?

Всего записей: 588 | Зарегистр. 18-09-2003 | Отправлено: 10:16 29-03-2012
PowerChute



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вообще-то строку сортировки собирают на событие OnSortMarkingChanged.
В примерах всё есть.

Всего записей: 519 | Зарегистр. 13-10-2004 | Отправлено: 11:43 29-03-2012
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А есть тут кто нибудь из EhLib-ов русский?
Мне надо, я думаю что может лучше не писать сдесь по какой причине. Был бы очень рад в ПМ. Раньше контакты были, даже багофиксил чтото, но не помню. Мне совет нужен а не обсуждение.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 19:00 11-04-2012
Vladkyr

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день. Кто работал с группировкой грида?
Как с этим работать?  
Есть группировка, выделяется название какой-либо группы. Как дальше можно пробежать по всем строчкам этой группы? Как получить данные из dataset'a, связанного с этим гридом по элементам группы?
В примерах ничего такого нет. В документации очень скупо описана работа с группировкой.

Всего записей: 26 | Зарегистр. 28-12-2006 | Отправлено: 11:33 12-04-2012
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо контакт есть!

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 00:17 14-04-2012
SevereK20

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladkyr
так попробуйте напрямую в саппорт написать.
http://ehlib.com/RUS/registration.htm

Всего записей: 7699 | Зарегистр. 07-05-2010 | Отправлено: 10:57 07-05-2012
TuMOXA123

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброе время суток!
 
Есть ли какой-нибудь способ локализации (перевода на другие языки) диалога DBGridEhSimpleFilterDlg (Это когда фильтр по пользовательскому условию) во время выполнения программы ?

Всего записей: 456 | Зарегистр. 27-01-2003 | Отправлено: 20:03 03-06-2012
miwa

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TuMOXA123
Судя по тому, что ресурсы из папки LangResources подключаются на этапе установки и чтобы изменить язык диалогов, приходится перекомпилировать EhLib - штатного способа нет. Разве что в лоб -  менять Caption-ы всех контролов при необходимости. Ну и заодно строковые константы из EhLibConsts.pas

Всего записей: 455 | Зарегистр. 10-10-2004 | Отправлено: 21:37 10-06-2012
XPerformer



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TuMOXA123
Вопрос интересный. Поскольку очень многие компоненты локализованы по такому же принципу и требуют перекомпиляции, чтобы изменить язык - тоже интересует как бы это решить в рантайме, общая схема, так сказать.
Может, все таки есть способ подключить все языковые ресурсы к проекту и переключаться по мере необходимости, пусть даже это потребует конвертации этих ресурсов в какой-то единый формат?

Всего записей: 2536 | Зарегистр. 20-06-2011 | Отправлено: 22:48 10-06-2012
exteris

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Для этого есть сторонние компоненты.

Всего записей: 382 | Зарегистр. 14-04-2003 | Отправлено: 08:44 13-06-2012
Sergey1970



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Есть XE2, EhLib 5.6, InterbaseExpress.
 
Данные: TIBQuery - TDataSetDriverEh - TMemTableEh - TDataSource.
STFilter: Local := true, InstantApply := true;
 
В ниспадающем списке значений фильтра есть пустой элемент, при его выборе программа зависает намертво, что приходится насильно снимать задачу.
 
Никто решения не знает? Спасибо.
 

Всего записей: 55 | Зарегистр. 11-02-2003 | Отправлено: 22:43 14-06-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Ehlib


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru