Страница 1 из 1
Пометка(Insert) нескольких позиций в таблице
Добавлено: 29 ноя 2023, 15:16
Espada
Доброго времени суток. Дамы и господа, вновь нужна ваша помощь)
в интерфейсе есть таблица с данными, не могу найти пример, где будет реализована функция пометки нескольких позиций (Insert)...
Возможно кто-то сможет поделиться кусочком кода, где это реализовано? Спасибо
Re: Пометка(Insert) нескольких позиций в таблице
Добавлено: 29 ноя 2023, 17:27
KVS
Добрый день!
Так пример есть в справке (ищите по IMarker):
Код: Выделить всё
//=========================================================
#include marker.vih
//=========================================================
interface MarkerDemo 'Использование маркеров.';
//---------------------------------------------------------
var
pMarker : IMarker(marker) new;
//---------------------------------------------------------
create view
as select *
from x$files;
//-----------------------------------------------------------------------------
browse brwBrowse1;
table x$files;
recMarker = pMarker {x$files.xf$code};
fields
x$files.xf$name 'File name' ('File name') : [20], protect;
end;
//---------------------------------------------------------
handleEvent
cmInit:
{
pMarker.Caption := (' Отмечено [%d] записей.'); // для заголовка
}
end; // handleEvent interface
end.
Re: Пометка(Insert) нескольких позиций в таблице
Добавлено: 29 ноя 2023, 17:30
Espada
KVS писал(а): ↑29 ноя 2023, 17:27
Добрый день!
Так пример есть в справке (ищите по IMarker):
Спасибо большое, сейчас буду разбираться)
Re: Пометка(Insert) нескольких позиций в таблице
Добавлено: 01 дек 2023, 11:54
oiko
Не забудьте еще 3 события описать вида:
cmMarkUnMark: if isvalid(#obKontr) then
{InvertMarker(Markers_Rike,obkontr.nrec);
if (modifier getnext obkontr)=tsok then {};
RescanPanel(#obkontr);SettitlInterface;}
cmSelectAll :{StartNewVisual(vtRotateVisual, vfTimer + vfBreak + vfConfirm, ''#3'Выбираю все объекты ...', 1);
if (modifier getfirst ObKontr)=tsok
{ pushPos(#ObKontr);
do
if i_bold='' then InvertMarker(Markers_Rike,obKontr.nrec);
while (modifier getNext obKontr)=tsok and nextvisual;
stopVisual('',0);
popPos(#obKontr);
rescanpanel(#ObKontr);
}
SettitlInterface;
}
cmUnSelectAll :{ClearMarker(Markers_Rike); rescanPanel(#obKontr);SettitlInterface;};
Re: Пометка(Insert) нескольких позиций в таблице
Добавлено: 01 дек 2023, 12:43
KVS
Для IMarker описание этих событий не требуется - только если для каких-то специфических случаев.