dataprovider が に設定されている ComboBox が 1 つありますArrayCollection
。にdataProvider
は XML データが含まれています。
<s:ComboBox id="articleComboBox" width="245" dataProvider="{_pageCollection}" labelField="title" change="comboChange(event)"/>
長さがitemlabel
いくつかの値 (たとえば 25) よりも大きい場合、ラベルを切り捨てて末尾に 2 つのドット (..) を追加する必要があるという機能が必要です。
Change
ComboBoxのイベントでこれを次のように実装しました。
private function comboChange(event:*):void{
var str:String = articleComboBox.textInput.text;
if(str.length > 25){
str = str.slice(0, 22) + "..";
articleComboBox.textInput.text = str;
}
}
しかし、それは機能しません。テキストには、元の " title
" フィールドがdataProvider
全体として表示されたままです。
labelfield
mxmlで指定されたプロパティが原因である可能性があります。ここで何が欠けていますか??
任意の提案をいただければ幸いです。助けてください...
dataProvider
( _pageCollection
)は次のとおりです。
<articles>
<article id="1146270" title="new article1" page_id="3205769"></article>
<article id="1144499" title="new article2" page_id="3205771"></article>
<article id="1082813" title="All Dressed Up And No Place To Train…" page_id="3205773"></article>
<article id="1146024" title="The NCAA Doesn" page_id="3205776"></article>
<article id="1083014" title="The Chula Vista Olympic Training Center" page_id="3205777"></article>
</articles>