![]() |
#1 |
Участник
|
FormTableControl и сортировка
Нужно добавить в FormTableControl возможность сортировки. Похоже, что заголовки столбцов не обрабатывают мышиные клики. Через InstallMessageProc сделать пока не удалось.
![]() Кто-нибудь возился с этим левым (во всех отношениях) контролом? |
|
![]() |
#2 |
Участник
|
Всем спасибо за участие, вопрос закрыт.
|
|
![]() |
#3 |
Участник
|
А как закрыт, расскажите.
Умудрились через Table или пошли через Grid? |
|
![]() |
#4 |
Участник
|
Сейчас FormTableControl сортируется по клику на любом заголовке столбца.
Правда, с некоторыми ограничениями: порядок сортировки только ascending, и растягивание столбцов не поддерживается. Но поскольку юзера полностью этим удовлетворились, то время тратить не стал. Речь шла о форме Active Directory Import Wizard (SysUserADUserImportWizard) в 4.0, англ. версия. Идея примерно такая: 1. Устанавливаем MessageProc для каждого заголовка столбцов. Здесь UserDetailsTable - это имя FormTableControl'а. X++: #define.WM_LBUTTONDOWN (0x0201) HWnd tempHwnd; int hdl; . . . headerHwnd = winapi::getWindow(UserDetailsTable.hWnd(), #GW_CHILD); if (headerHwnd) { tempHwnd = headerHwnd; while (tempHwnd) { tempHwnd = winapi::getWindow(tempHwnd, #GW_HWNDNEXT); hdl = element.installMessageProc(#WM_LBUTTONDOWN, tempHwnd, 'tableControlMessageProc'); } } X++: static int tableControlMessageProc() { element.sortTableControl(); return 0; } |
|
Теги |
table control |
|
![]() |
||||
Тема | Ответов | |||
Сортировка в гриде с двумя DataSource | 15 | |||
FormListControl сортировка | 2 | |||
Основы работы с FormTableControl | 12 | |||
Глючит сортировка записей | 5 | |||
Гибрид FormTableControl и FormDataSource | 27 |
|