TValueListEditor - специализиран редактор на низове - Програмиране от
Непосредственият предшественик на компонента е класът TCustomDrawGrid, така че много от неговите свойства, методи и събития са същите като свойствата, методите и събитията на компонента TStringGrid, описан в раздел 18.2.4.
свойство Cells[ACol, ARow: Integer]: String; | Отваря достъп до съдържанието на клетката, разположена в пресечната точка на колоната ACol с реда със стрелка (номерирането на колоните и редовете започва от нула) |
свойство ColCount: Integer; | Съдържа броя на колоните |
тип TDisplayOption = (doColumnTitles, doAutoColResize, doKeyColFixed) ; TDisplayOptions = набор от TDisplayOption; свойство DisplayOptions: TDisplayOptions; | Свойството може да включва следните стойности: doColumnTitles - първият ред съдържа заглавията на колоните, дефинирани от свойството TitleCaption, и не може да се превърта; doAutoColResize - инструктира автоматично да се променя ширината на колоните при преоразмеряване на компонента; doKeyColFixed - ако е посочено, ширината на първата колона, съдържаща имена, не се променя при преоразмеряване |
свойство DropDownRows: Integer; | Указва максималния брой редове в списъка с възможни стойности, които не се показват с лента за превъртане |
свойство ItemProps[const KeyOrIndex: Variant]: TItemProp; | Сложно свойство, което контролира различни аспекти на показване на стойности (вижте обясненията по-долу) |
тип TKeyOption = (keyEdit, keyAdd, keyDelete, keyUnique) ; TKeyOptions = набор от TDisplayOption; свойство KeyOptions: TKeyOptions; | Контролира възможната промяна на списъка: keyEdit - потребителят може да промени името на параметъра (в първата колона); keyAdd - потребителят може да добави нова двойка име-стойностчрез натискане на клавиша Insert (изисква keyEdit да бъде активиран); keyDelete - потребителят може да изтрие избраната двойка чрез натискане на клавиша Delete; keyUnique - имената, въведени от потребителя, трябва да бъдат уникални |
свойство Keys[Index: Integer]:String; | Отваря достъп до имената на стойностите по техните индекси |
свойство RowCount: Integer; | Съдържа броя на редовете |
propertyStrings: TStrings; | Съдържа списъчни низове |
свойство TitleCaptions: TStrings; | Съдържа заглавия на колони |
propertyValues[const Key:String]: String; | Осигурява достъп до стойности чрез техните индекси |
Свойството itemprops на класа Titemprop има свои собствени свойства:
Свойството PickList не е предназначено за програмен достъп. За да създадете падащ списък с възможни стойности, трябва да зададете свойството ItemProp.EditStyle на esPickList и да напишете манипулатор на събития onGetpickList. Нека, например, първата стойност трябва да има падащ списък. Тогава имате нужда от този код:
Следните свойства на компонента са подобни на свойствата на компонента TStringGrid със същото име (вижте раздел 18.2.4): , TopRow, VisibleColCount,VisibleRowCount. функция InsertRow(const KeyName,. "."alue: String; Append: Boolean) : Integer-procedure Refresh; функция RestoreCurrentRow: Boolean;
Методите CellRect, MouseToCell и MouseCoord са подобни на компонентните методи със същото имеTStringGrid (вижте 18.2.4).
свойство OnEditButtonClick: TNotifyEvent; | Възниква, когато се щракне върху бутона за разширяване на диалоговия прозорец за редактиране на стойност. Свойството ItemProps .EditStyle трябва да съдържа стойността esEllipse |
тип TGetPickListEvent = процедура (Подател: TObject; const KeyName: String; Стойности: TStrings)на обект; свойство OnGetPickList: TGetPickListEvent; | Възниква, когато се щракне върху бутон за разширяване на списъка с възможни стойности. Параметърът KeyName съдържа името на реда, върху който е щракнато. Манипулаторът трябва да попълни списъка със стойности с възможни стойности. Свойството ItemProps. EditStyle трябва да съдържа стойността esPickList |
свойство OnStringsChange: TNotifyEvent; | Възниква веднага след промяна на името или стойността на текущия ред |
свойство OnStringsChanging: TNotifyEvent; | Възниква точно преди да се промени името или стойността на текущия ред. |
тип TOnVal > | Случва се преди входният фокус да напусне клетката ACol, ARow. Манипулаторът може да провери новите стойности на KeyName и KeyValue и да предизвика изключение, ако редакциите на реда са грешни |
Следните събития са подобни на събитията на компонента TStringGrid със същото име: OnDrawCell, OnGetEditMask, OnGetEditText OnRowMoved, OnSelectCell, OnSetEditText, OnTopLeftChanged.