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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2009, 20:26   #11
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

т.е. получается, что ты хранишь в поле Path путь до файла, а на "морде" просто прибавляешь имя файла
а не пробовал промониторить - сколько путей выбиваются за ограничение в 250 символов?
я бы на твоем месте, чтобы просто реализовать сортировку по мемке, завел бы еще одно поле в табл. Path, например, short_path varchar(250) - кол-во символов можно и меньше указать, и в него бы вставлял/апдейтил бы первые 250 (или сколько ты выберешь) символов из указанного в поле Path и в запросе сортировал бы по этому полю, а на "морду" отдавал бы уже сконкатенированное имя Path+NameFile
при таком подходе % неверно отсортированных путей будет малым если юзверь не использует для хранения книжек одну и ту же папку с немеренной глубиной вложенности
soleil@mmc вне форума Ответить с цитированием
Старый 13.04.2009, 00:35   #12
koma_grusha
Редкий обитатель
Форумчанин
 
Аватар для koma_grusha
 
Регистрация: 08.04.2009
Сообщений: 170
Подмигивание

а зачем ты ADOTable юзал, легче и лучше сделать это с ADOQuery. для примера запрос назовем que.
Создаем SortASC - глобальная переменная типа boolean, если True - сортируем по возрастанию, иначе по убыванию.
В обработчик onTitleClick грида пишем примерно следующее..


Код:
que.close;
if SortASC then
  begin
  que.SQL.Text := 'SELECT ..() As CalcPath FROM .. ORDER BY CalcPath ASC';
  SortAsc := False;
  end else
    begin
    que.SQL.Text := 'SELECT..() As CalcPath FROM .. ORDER BY CalcPath DESC';
    SortAsc := True;
  end;
que.open;
У меня работает отлично. Единственное вначале процедуры проверяй, что
Код:
Column.FieldName = 'CalcPath'
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)
koma_grusha вне форума Ответить с цитированием
Старый 13.04.2009, 01:24   #13
ArtInt
Форумчанин
 
Аватар для ArtInt
 
Регистрация: 06.03.2009
Сообщений: 583
По умолчанию

Цитата:
Сообщение от koma_grusha Посмотреть сообщение
а зачем ты ADOTable юзал, легче и лучше сделать это с ADOQuery.

Естественно Query использую, но и AdoTable тоже(возможно привычка), да и просто было легче переписывать, так как сначала на черновом варианте было Adodataset.
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
ArtInt вне форума Ответить с цитированием
Старый 13.04.2009, 01:31   #14
koma_grusha
Редкий обитатель
Форумчанин
 
Аватар для koma_grusha
 
Регистрация: 08.04.2009
Сообщений: 170
Вопрос

а ты не пробовал Dev expressовский грид использовать? там он все за тебя сделает - и сортировку и фльтр и.т.п.
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)
koma_grusha вне форума Ответить с цитированием
Старый 13.04.2009, 01:43   #15
ArtInt
Форумчанин
 
Аватар для ArtInt
 
Регистрация: 06.03.2009
Сообщений: 583
По умолчанию

Цитата:
Сообщение от koma_grusha Посмотреть сообщение
а ты не пробовал Dev expressовский грид использовать? там он все за тебя сделает - и сортировку и фльтр и.т.п.
Это конечно хорошо только у меня грид немножко модернизированный из Suipack как новый компонент, но как вариант неплохо.
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
ArtInt вне форума Ответить с цитированием
Старый 13.04.2009, 01:48   #16
koma_grusha
Редкий обитатель
Форумчанин
 
Аватар для koma_grusha
 
Регистрация: 08.04.2009
Сообщений: 170
Радость

знакомая вещь SuiPack, я по рисункам уже предположила, MacOs скин кажись, если память не изменяет, но тот грид все же лучше....

кстати тот код тебе не помог, ил не совсем то что надо?

и еще....спасибо за спасибо!
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)
koma_grusha вне форума Ответить с цитированием
Старый 13.04.2009, 03:13   #17
ArtInt
Форумчанин
 
Аватар для ArtInt
 
Регистрация: 06.03.2009
Сообщений: 583
По умолчанию

Цитата:
Сообщение от koma_grusha Посмотреть сообщение
знакомая вещь SuiPack, я по рисункам уже предположила, MacOs скин кажись, если память не изменяет, но тот грид все же лучше....

кстати тот код тебе не помог, ил не совсем то что надо?

и еще....спасибо за спасибо!
ошибка List index out of bounds выходила не только потому, что присваивались параметры по ошибке, где их не должно быть, но и потому что в части кода у меня есть изменение цвета
Код:
     cyDbGrid1.Columns.Items[ColIndex].Title.Color:=clblue;
а при этом присвоение ColIndex:=Column.Index "заремил" по невнимательности. Причем на такой невнимательности уже не первый раз попадаюсь, от чего и страдаю...
Но как видишь http://programmersforum.ru/showthread.php?t=45417 вроде все становится на свои места, и конечно возникают новые вопросы......
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
ArtInt вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ширина полей DBGrid XATAB БД в Delphi 7 28.02.2009 10:54
Сохранение значений вычисляемых полей gimbomba БД в Delphi 6 21.02.2009 19:19
Типы полей ADOTable AnnNet БД в Delphi 2 21.07.2008 16:40
Сортировка после просчета вычисляемых полей azat БД в Delphi 4 19.01.2008 21:09
Возможна сортировка или нет? Constellation БД в Delphi 44 17.11.2007 11:32