02.08.2007, 07:55 | #1 |
Участник
|
FormTableControl и сортировка
Нужно добавить в FormTableControl возможность сортировки. Похоже, что заголовки столбцов не обрабатывают мышиные клики. Через InstallMessageProc сделать пока не удалось. Есть, конечно, вариант - использовать Grid на временной таблице, но хотелось бы сохранить Table control.
Кто-нибудь возился с этим левым (во всех отношениях) контролом? |
|
21.08.2007, 07:04 | #2 |
Участник
|
Всем спасибо за участие, вопрос закрыт.
|
|
21.08.2007, 09:41 | #3 |
Участник
|
А как закрыт, расскажите.
Умудрились через Table или пошли через Grid? |
|
22.08.2007, 08:12 | #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 |
|