Необычная сортировка
Пример:
Кука
ООО "Ада"
В данном случае сортировка должна "обрезать" ООО " и отсортированные поля будут выглядеть таким образом:
ООО "Ада"
Кука
Подскажите, пожалуйста, как повлиять на стандартную сортировку Table1 и "обрезать" все сочетания ООО " в начале каждой ячейки, поддающейся сортировке?
Есть Table1 (Paradox), DBGrid. Как реализовать сортировку по текстовоу полю, но с учетом следующего: в начале ячейки может быть ненужная для сортировки аббревиатура, так вот эту аббревиатуру и надо опустить при сортировке полей.
Пример:
В данном случае сортировка должна "обрезать" ООО " и отсортированные поля будут выглядеть таким образом:
Подскажите, пожалуйста, как повлиять на стандартную сортировку Table1 и "обрезать" все сочетания ООО " в начале каждой ячейки, поддающейся сортировке?
Я таких способов не знаю, Могу посоветовать создать дополнительное поле, в которое сначала через парсер заносить нужные данные ("Кука", "Ада"). И делать сортировку уже по этому полю.
Есть Table1 (Paradox), DBGrid. Как реализовать сортировку по текстовоу полю, но с учетом следующего: в начале ячейки может быть ненужная для сортировки аббревиатура, так вот эту аббревиатуру и надо опустить при сортировке полей.
Пример:
В данном случае сортировка должна "обрезать" ООО " и отсортированные поля будут выглядеть таким образом:
Подскажите, пожалуйста, как повлиять на стандартную сортировку Table1 и "обрезать" все сочетания ООО " в начале каждой ячейки, поддающейся сортировке?
В принципе (если реальное поле). Напрашивается решение сделать справочник организаций и сортировать по индексу(индексам) из этого справочника.
gray_k, как выделять из строки ООО "Ада" саму суть - Ада?
Vlad232ua, это как? Можно подробнее?
gray_k, как выделять из строки ООО "Ада" саму суть - Ада?
Если создавать постоянное поле для хранения "очищенной" строки, то при заполнении БД отрезаешь нужную часть от исходного поля и автоматически его заполняешь, а поле может быть вообще невидимым если оно не нужно для юзера. Или можешь сделать временное поле и заполнять его при его создании в соответствующем событии и потом по нему сортировать. А если тебя интересует техника выделения, то это зависит от задачи, например попробуй выделять кусок между кавычками.
Если ты УВЕРЕН в формате входящих строк, то
AnsiString s2 = s1.SubString(s1.Pos("'")+1, s1.Length()-s1.Pos("'")-1)
даст при s1 == "ООО 'Лира'" в резалте s == "Лира",
но вообще-то надо бы предусмотреть и варинты, когда s1 == "Лира"