Refinement of the model
For imposing restrictions on the list of employees needs to be clarified class diagram: introduced an enum type Должность
and attribute Должность
in class Сотрудник
.
You also need to change ideas СотрудникL
and СотрудникE
to attribute Должность
hit them.
Then re-generate the objects and to align the database.
The imposition of restrictions on LookUp
In the terminology Flexberry
button that causes a list of choices, is called lucapa (LookUp
).
Purpose: to restrict the list of employees to select the employee who filled the order. In the list of employees there are employees with different positions. On the edit form of the order by clicking on lookup need to withdraw only managers (to avoid incorrect input from the user system).
In order to specify a restriction is necessary:
1.Go to the web page ZakazE.aspx
where to find the control MasterEditorAjaxLookUp
and remember it ID
(in this case ctrlМенеджер
).
designer
file. In order to be able to access the control by its ID
, you need to keep aspx
file, this will generate designer
file and fills the appropriate properties. Necessary controls will be declared in the code, after which they can be used.2.Go to server-side code of the web page ZakazE.aspx.cs
and change the parameter value flexberryautogenerated
on false
, otherwise at the next generation of the source code, your changes will be lost.
3.Add the following lines (to select options uses Ctrl-Space):
using ICSSoft.STORMNET.FunctionalLanguage;
using ICSSoft.STORMNET.FunctionalLanguage.SQLWhere;
4.To change the method PreApplyToControls()
file ZakazE.aspx.cs
as follows:
protected override void PreApplyToControls()
{
Function lf = FunctionBuilder.BuildEquals<Сотрудник>(x => x.Должность), Должность.Менеджер);
ctrlМенеджер.LimitFunction = lf;
}
Method PreApplyToControls()
called prior distribution of the object data to controls page. At the time of calling this method the object is already deducted from the database (or when PostBack'e
values are already stored in the object), you can perform some additional manipulation of the object before its value gets to the page.
In the code of this method is formed by special design LimitFunction
which allows you to impose restrictions.
5.PstrfSolution` to recompile, start the app and confirm the changes (by clicking on the button opens a list of lucapa, in which only managers).