Делегат скрытия строк в GroupEdit
Для наложения простых ограничений на записи, отображаемые в GroupEdit, можно воспользоваться делегатом скрытия строк соответствующего контрола. Данный делегат определяет видимость каждой записи в GroupEdit.
public IsObjectVisibleDelegate IsObjectVisible;
public delegate bool IsObjectVisibleDelegate(DataObject dataObject);
Пример использования делегата скрытия строк
Пусть на форме имеется GroupEdit geВизитКлиентаВБанк, содержащий записи типа ВизитКлиентаВБанк, и в geВизитКлиентаВБанк необходимо отобразить только те записи, что содержат пустое значение в поле ЦельВизита.
Для решения данной задачи необходимо следующее:
1) Определить требуемый делегат (он возвращает true, если поле ЦельВизита у поданной на вход записи типа ВизитКлиентаВБанк не заполнено):
private bool IsObjectVisibleMyImplement(DataObject dataObject)
{
return string.IsNullOrEmpty(((ВизитКлиентаВБанк)dataObject).ЦельВизита);
}
2) Назначить делегат geВизитКлиентаВБанк:
public class WinformБанкE : ICSSoft.STORMNET.UI.BaseWinEdit, IIS.LookUpEditManager2.DPDIБанкE
{
//...
public WinformБанкE()
{
//...
this.geВизитКлиентаВБанк.IsObjectVisible = IsObjectVisibleMyImplement;
//...
}
}