MyTetra Share
Делитесь знаниями!
DoLookup
Время создания: 17.04.2017 17:36
Раздел: Global - Programming - Pascal - Классы объектов - TbtkScriptSelectionObject
Запись: xintrea/mytetra_db_mcold/master/base/14924397850q4nb7btk5/text.html на raw.githubusercontent.com

Отображает выборку в lookup-форме, возвращает результат в виде набора записей ILookupData, кот. Имеет следующие свойства и функции: LookupResult = lrOk или lrCancel. RecCount – количество записей, выбранных пользователем (если LookupResult= lrCancel, то 0) Data(AttrNo,RecNo : integer) – возвращает значение поля с номером AttrNo из выбранной записи с номером RecNo. Записи нумеруются от 1, поля от 0.

function DoLookup(
LookupControlClass: String;
EntityName: String;
LocateFieldNames: Array;
LocateFieldValues : Array;
ResultFieldNames : Array;
MultiSelect : Boolean
): TbtkLookupData;

Примеры

Пример №1:
R := DoLookup('TbtkLookupGridForm','maintree',['id'],[2629000],['id','sParentClass'],true);
if R.LookupResult=lrOk then
Message+Dlg( VarToStr(R.Data(0,1))+'->'+R.Data(1,1), mtWarning, 'mbYes', 0 );

Пример №2:
В данном примере рассматривается случай возврата значений из двух выборок.
S := DoLookupEx('', 'SELRO_CNT_ContractChoose',
    ['SELRO_CNT_ContractChoose.id', 'SELROCL_CNT_ObligationChoose.id'],
    [GetVar('IDContract'), GetVar('IDObligation')],
    ['SELRO_CNT_ContractChoose.id', 'SELROCL_CNT_ObligationChoose.id'], false,
    ['Caption'], [GetFmtCaption('CONTRACTOBLFORCHOOSE', [GetVar('super$IDSettlerOut_HL'),GetVar('super$IDSettlerIn_HL')])]);
if s.LookupResult=lrOk then
begin
    ShowMessage(s.SelectData('SELRO_CNT_ContractChoose').RecCount);
    ShowMessage(s.SelectData('SELROCL_CNT_ObligationChoose').RecCount);
    setvar('IDContract', s.SelectData('SELRO_CNT_ContractChoose').Data[0,1]);
    setvar('IDObligation', s.SelectData('SELROCL_CNT_ObligationChoose').Data[0,1]); execsql('set');
end;


Для доступа вернувшимся значениям была использована структура: SelectData([имя выборки]).Data [AttrNo,RecNo] Её использование необходимо при явном указании имени поля ([имя выборки].[имя поля]), если поле указано неявно ([имя поля]), то вернувшиеся данные будут доступны непосредственно в свойстве “Data”, как это сделано в примере №1.

 
MyTetra Share v.0.59
Яндекс индекс цитирования