Нагибаю маркеры
Добавлено: 14 июн 2008, 15:25
Решил тут велосипедом проехаться по маркерам. Отказался от стандартного механизма маркеров, тем более он не совсем хорошо подходит к моей задаче -> просто завел дополнительное булево поле (признак выделения) в моей таблице, все вроде пучком, полет нормальный. Но вот с выделением/снятием выделения сразу всех записей лажа
Вот такой код
приводит к тому, что в browse пропадают все записи, а вот при таком коде
все работает как надо, но это слишком медленно - записей очень много. Что можно подкрутить? Заранее спасибо!
P.S. На всякий случай код самого browse
Вот такой код
Код: Выделить всё
cmSelectAll:
{
update tblMy set tblMy.Checked := true;
RescanPanel(#tblMy);
}
cmUnselectAll:
{
update tblMy set tblMy.Checked := false;
RescanPanel(#tblMy);
}
Код: Выделить всё
cmSelectAll:
{
_loop tblMy
update current tblMy set tblMy.Checked := true;
RescanPanel(#tblMy);
}
cmUnselectAll:
{
_loop tblMy
update current tblMy set tblMy.Checked := false;
RescanPanel(#tblMy);
}
P.S. На всякий случай код самого browse
Код: Выделить всё
browse gridMy (,, sci178EnEscIns)
show at(,,, 30);
table tblMy;
recMarker : If(Checked, 'img1', '');
fields
{font={Color = If(Checked, ColorMark, 1)}};
tblMy.NRec 'NRec' : [15], protect;
tblMy.Date 'Дата' : [8 ], protect;
end;