Я использую NumberValidator для каждой ячейки в столбце в сетке данных. В качестве источника задан dataProvider сетки данных, но проблема заключается в свойстве. Я не могу просто сказать «текст», потому что я использую labelFunction для извлечения свойства, потому что оно вложено в другой объект.
Есть ли способ обойти это? Мне нужно будет создать свой собственный валидатор? Надеюсь нет. Любые советы приветствуются.
Спасибо!
<mx:NumberValidator id="security_locate_numberValidator"
source="{this.secId_dg.dataProvider}" lowerThanMinError="A locate is required."
property="marketRule.locRule.locRuleId" minValue="0" />
<mx:DataGrid
id="secId_dg"
editable="true"
dataProvider="{this.marketRuleServiceEntity.exceptionComposites}"
itemEditEnd="onSecurityPicked(event)"
width="100%"
rowCount="10"
tabEnabled="false">
<mx:columns>
<mx:DataGridColumn
headerText="Security ID"
labelFunction="getSecId"
editorDataField="text"
editable="true">
<mx:itemEditor>
<mx:Component>
<application:SecuritySuggestInput
maxWidth="160"
minWidth="160"
toolTip="Search on a Ticker, CUSIP, or Sedol"
width="160"
prompt="Search Security"/>
</mx:Component>
</mx:itemEditor>
</mx:DataGridColumn>
<mx:DataGridColumn
headerText="Description"
dataField="description"
width="200"
editable="false"/>
<mx:DataGridColumn
headerText="Locate"
headerStyleName="leftGridHeader"
paddingRight="4"
textAlign="right"
labelFunction="getLocate"
editable="true"
dataField="locRuleDesc"
editorDataField="selectedLabel"
itemEditor="com.fidelity.primeservices.act.editor.overrides.LocatesEditor"/>
<mx:DataGridColumn
headerText="Comments"
width="200"
editable="true"/>
<mx:DataGridColumn
headerText="Delete"
editable="false"
itemRenderer="com.fidelity.primeservices.act.renderer.overrides.SecuritiesDeleteIconRenderer"/>
</mx:columns>
</mx:DataGrid>