|
|
#1 |
|
Участник
|
FormTableControl и сортировка
Нужно добавить в FormTableControl возможность сортировки. Похоже, что заголовки столбцов не обрабатывают мышиные клики. Через InstallMessageProc сделать пока не удалось.
Есть, конечно, вариант - использовать Grid на временной таблице, но хотелось бы сохранить Table control. Кто-нибудь возился с этим левым (во всех отношениях) контролом? |
|
|
|
|
#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 | |||
|