|
1 / 1 / 2
Регистрация: 15.08.2017
Сообщений: 81
|
|
Сортировка по столбцу14.11.2017, 02:12. Показов 1733. Ответов 24
Метки нет (Все метки)
Уважаемые программисты, как сделать сортировку по столбцу в StringGrid1?? (C++Builder 10.2)
Перепробовал куча кода из интернета, не компилируется не один...
0
|
|
| 14.11.2017, 02:12 | |
|
Ответы с готовыми решениями:
24
Сортировка по столбцу в StringGrid
Сортировка по столбцу |
|
управление сложностью
|
|
| 14.11.2017, 07:39 | |
|
0
|
|
|
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
|
||||||
| 14.11.2017, 08:49 | ||||||
|
дно21,
Ну уж о сортировке стрингрида на форуме полно примеров. вот сртировка по нажатию на фиксированную строку в соответствии на какой колонке и будет сортировак в двух направлениях.
1
|
||||||
|
1 / 1 / 2
Регистрация: 15.08.2017
Сообщений: 81
|
|||||||||||
| 14.11.2017, 14:05 [ТС] | |||||||||||
|
Две ошибочки:
[bcc32 Error] Unit3.cpp(381): E2303 Type name expected [bcc32 Error] Unit3.cpp(387): E2316 '_fastcall TForm1::TS(TObject *,TMouseButton,TShiftState,int,int)' is not a member of 'TForm1' Добавлено через 3 минуты Первая ошибка тут:
я наверное уже lifeforce задолбал))) спасибо тебе что помогаешь, если бы не ты, то у меня ничего не вышло)))
0
|
|||||||||||
|
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
|
||||||
| 14.11.2017, 16:50 | ||||||
0
|
||||||
|
Супер-модератор
|
||
| 14.11.2017, 16:53 | ||
|
Про возможность сделать "виртуальный грид", когда данные хранятся где-то в стороннем контейнере, а в гриде только отображаются я вообще молчу, тогда по клику на фиксированную ячейку надо будет только отсортировать контейнер, это вообще делается в одну строку обычно. Если интересно - о том, как сделать виртуальный грид: Опять о *.csv
0
|
||
|
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
|
|
| 14.11.2017, 17:17 | |
|
volvo,
дайте человеку код в три строчки ![]() мой код в 15 строчек (с реверсом) ![]() согласен что работает медленее. до 2000 строк и 35 колонок может осилить.
0
|
|
|
1 / 1 / 2
Регистрация: 15.08.2017
Сообщений: 81
|
|
| 14.11.2017, 17:18 [ТС] | |
|
даешь код!
0
|
|
|
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
|
||
| 14.11.2017, 17:24 | ||
|
0
|
||
|
1 / 1 / 2
Регистрация: 15.08.2017
Сообщений: 81
|
|
| 14.11.2017, 18:18 [ТС] | |
|
Ошибка:
[bcc32 Error] Unit3.cpp(390): E2316 '_fastcall TForm3::StringGrid1MouseDown(TObject *,TMouseButton,TShiftState,int,int)' is not a member of 'TForm3'
0
|
|
|
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
|
|
| 14.11.2017, 19:36 | |
|
дно21, для StringGrid нужно создать событие OnMouseDown во вкладке Events
и туда поставить код. вроде не первый день за компилятором.
0
|
|
|
Супер-модератор
|
||||||
| 14.11.2017, 20:49 | ||||||
|
Ну, в общем, если кому будет интересно - решение через класс перехватчик. Добавляем в hpp-файл перед классом формы следующий неймспейс:
Тестировалось на XE4 (64-битный проект) + Win10...
3
|
||||||
|
1 / 1 / 2
Регистрация: 15.08.2017
Сообщений: 81
|
|
| 14.11.2017, 21:37 [ТС] | |
|
Ошибки:
[bcc32 Error] Unit3.h(24): E2090 Qualifier 'Vcl' is not a class or namespace name Full parser context Unit1.cpp(8): #include Unit3.h Unit3.h(23): namespace StringGrid_Sorting Unit3.h(24): class TStringGrid [bcc32 Error] Unit3.h(24): E2303 Type name expected Full parser context Unit1.cpp(8): #include Unit3.h Unit3.h(23): namespace StringGrid_Sorting Unit3.h(24): class TStringGrid [bcc32 Error] Unit3.h(24): E2275 { expected Full parser context Unit1.cpp(8): #include Unit3.h Unit3.h(23): namespace StringGrid_Sorting Unit3.h(24): class TStringGrid [bcc32 Error] Unit3.h(25): E2029 'TStringGrid' must be a previously defined class or struct Full parser context Unit1.cpp(8): #include Unit3.h Unit3.h(23): namespace StringGrid_Sorting Unit3.h(24): class TStringGrid [bcc32 Error] Unit3.h(39): E2092 Storage class 'dynamic' is not allowed here Full parser context Unit1.cpp(8): #include Unit3.h Unit3.h(23): namespace StringGrid_Sorting Unit3.h(24): class TStringGrid [bcc32 Error] Unit3.h(41): E2451 Undefined symbol 'FixedRows' Full parser context Unit1.cpp(8): #include Unit3.h Unit3.h(23): namespace StringGrid_Sorting Unit3.h(24): class TStringGrid Unit3.h(51): decision to instantiate: void _fastcall TStringGrid::FixedCellClick(int,int) --- Resetting parser context for instantiation... Unit3.h(39): parsing: void _fastcall TStringGrid::FixedCellClick(int,int) [bcc32 Error] Unit3.h(41): E2451 Undefined symbol 'RowCount' Full parser context Unit1.cpp(8): #include Unit3.h Unit3.h(23): namespace StringGrid_Sorting Unit3.h(24): class TStringGrid Unit3.h(51): decision to instantiate: void _fastcall TStringGrid::FixedCellClick(int,int) --- Resetting parser context for instantiation... Unit3.h(39): parsing: void _fastcall TStringGrid::FixedCellClick(int,int) [bcc32 Error] Unit3.h(42): E2451 Undefined symbol 'Cells' Full parser context Unit1.cpp(8): #include Unit3.h Unit3.h(23): namespace StringGrid_Sorting Unit3.h(24): class TStringGrid Unit3.h(51): decision to instantiate: void _fastcall TStringGrid::FixedCellClick(int,int) --- Resetting parser context for instantiation... Unit3.h(39): parsing: void _fastcall TStringGrid::FixedCellClick(int,int) [bcc32 Error] Unit3.h(42): E2451 Undefined symbol 'Rows' Full parser context Unit1.cpp(8): #include Unit3.h Unit3.h(23): namespace StringGrid_Sorting Unit3.h(24): class TStringGrid Unit3.h(51): decision to instantiate: void _fastcall TStringGrid::FixedCellClick(int,int) --- Resetting parser context for instantiation... Unit3.h(39): parsing: void _fastcall TStringGrid::FixedCellClick(int,int) [bcc32 Error] Unit3.h(42): E2285 Could not find a match for 'std::make_pair<_Ty1,_Ty2>(undefined,und efined)' Full parser context Unit1.cpp(8): #include Unit3.h Unit3.h(23): namespace StringGrid_Sorting Unit3.h(24): class TStringGrid Unit3.h(51): decision to instantiate: void _fastcall TStringGrid::FixedCellClick(int,int) --- Resetting parser context for instantiation... Unit3.h(39): parsing: void _fastcall TStringGrid::FixedCellClick(int,int) [bcc32 Error] Unit3.h(44): E2451 Undefined symbol 'Cols' Full parser context Unit1.cpp(8): #include Unit3.h Unit3.h(23): namespace StringGrid_Sorting Unit3.h(24): class TStringGrid Unit3.h(51): decision to instantiate: void _fastcall TStringGrid::FixedCellClick(int,int) --- Resetting parser context for instantiation... Unit3.h(39): parsing: void _fastcall TStringGrid::FixedCellClick(int,int) [bcc32 Error] Unit3.h(48): E2451 Undefined symbol 'FixedRows' Full parser context Unit1.cpp(8): #include Unit3.h Unit3.h(23): namespace StringGrid_Sorting Unit3.h(24): class TStringGrid Unit3.h(51): decision to instantiate: void _fastcall TStringGrid::FixedCellClick(int,int) --- Resetting parser context for instantiation... Unit3.h(39): parsing: void _fastcall TStringGrid::FixedCellClick(int,int) [bcc32 Error] Unit3.h(48): E2451 Undefined symbol 'RowCount' Full parser context Unit1.cpp(8): #include Unit3.h Unit3.h(23): namespace StringGrid_Sorting Unit3.h(24): class TStringGrid Unit3.h(51): decision to instantiate: void _fastcall TStringGrid::FixedCellClick(int,int) --- Resetting parser context for instantiation... Unit3.h(39): parsing: void _fastcall TStringGrid::FixedCellClick(int,int) [bcc32 Error] Unit3.h(49): E2451 Undefined symbol 'Rows' Full parser context Unit1.cpp(8): #include Unit3.h Unit3.h(23): namespace StringGrid_Sorting Unit3.h(24): class TStringGrid Unit3.h(51): decision to instantiate: void _fastcall TStringGrid::FixedCellClick(int,int) --- Resetting parser context for instantiation... Unit3.h(39): parsing: void _fastcall TStringGrid::FixedCellClick(int,int) [bcc32 Error] Unit3.h(72): E2109 Not an allowed type Full parser context Unit1.cpp(8): #include Unit3.h Unit3.h(57): class TForm3 [bcc32 Error] functional(813): E2238 Multiple declaration for 'operator hash<string>: )(const string &) const'Full parser context Unit1.cpp(15): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\map map(5): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\xtree xtree(4): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\functional functional(786): namespace std functional(787): namespace tr1 functional(807): class hash<string> [bcc32 Error] functional(794): E2344 Earlier declaration of 'operator hash<string>: )(const string &) const'Full parser context Unit1.cpp(15): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\map map(5): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\xtree xtree(4): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\functional functional(786): namespace std functional(787): namespace tr1 functional(807): class hash<string> [bcc32 Error] functional(838): E2238 Multiple declaration for 'operator hash<wstring>: )(const wstring &) const'Full parser context Unit1.cpp(15): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\map map(5): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\xtree xtree(4): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\functional functional(786): namespace std functional(787): namespace tr1 functional(832): class hash<wstring> [bcc32 Error] functional(794): E2344 Earlier declaration of 'operator hash<wstring>: )(const wstring &) const'Full parser context Unit1.cpp(15): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\map map(5): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\xtree xtree(4): #include e:\program files (x86)\embarcadero\studio\19.0\include\di nkumware\functional functional(786): namespace std functional(787): namespace tr1 functional(832): class hash<wstring>
0
|
|
|
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
|
|
| 14.11.2017, 23:56 | |
|
volvo, очень интересное решение. как будет свободное время , протестирую.
0
|
|
|
Супер-модератор
|
|||||||
| 15.11.2017, 00:20 | |||||||
для XE-версий, а у тебя опять какая-то древность, типа BCB6, прослеживается, если даже Vcl:: не признает как неймспейс...Либо ты не туда вставляешь код. Сказано было: перед классом формы, а не в самом начале h-файла. Вот header-файл полностью, с которым код отработал:Кликните здесь для просмотра всего текста
0
|
|||||||
|
1 / 1 / 2
Регистрация: 15.08.2017
Сообщений: 81
|
|
| 15.11.2017, 00:21 [ТС] | |
|
у меня билдер 10.2 токио
0
|
|
|
1 / 1 / 2
Регистрация: 15.08.2017
Сообщений: 81
|
|
| 15.11.2017, 00:31 [ТС] | |
|
вот смотри
0
|
|
|
1 / 1 / 2
Регистрация: 15.08.2017
Сообщений: 81
|
|
| 15.11.2017, 01:50 [ТС] | |
|
я понял в чем проблема, создавая приложение я выбрал не тот пункт
теперь по сути нужно все приложение переносить( ух))
0
|
|
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
| 15.11.2017, 10:37 | |
|
volvo, а чего у вас в FormCreate? Как вообще увязать этот FixedCellClick с опциями таблицы?; я не увидел
0
|
|
| 15.11.2017, 10:37 | |
|
Помогаю со студенческими работами здесь
20
Сортировка БД по столбцу Сортировка в BDGrid по столбцу Сортировка по столбцу Сортировка по столбцу Сортировка по столбцу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|