sziasztok
lenne egy problemam:
flex:
van egy datagrid, aminek megadok egy dataprovidert, es josok datagridcolumn-t, az utolso datagridcolumn-hoz csinaltam egy sajat osztalyt amiben egy progressbar es 2 button van, az egyik gomb elindit egy letoltest, amit a progressbar mutat. midnen jol mukodik kiveve egy dolgot: a datagrid egyszerre 8 sort jelenit meg, es haelinditom a letoltest pl az elso sorban, es lejjebb megyek 1 sort, akkor a 9. sorban is latszik az elso sor progressbarja. megneztem, es a letoltes gomb megnyomasara betettem egy trace(this), es ugy latom, hogy minden 8. datagridcolumn neve ugyanaz(Xplorer77.dg.ListBaseContentHolder85.CustomProgressBar297).. tudna valaki nekem valami okosat mondani erre? koszonom szepen
update:
<mx:DataGrid id="dg" dataProvider="{storageArray}" updateComplete="handleUpdateComplete(event)" height="200.9" top="167.15" left="11" right="9" allowMultipleSelection="true">
<mx:columns>
<mx:DataGridColumn headerText="id" dataField="id" />
<mx:DataGridColumn headerText="title" dataField="title"/>
<mx:DataGridColumn headerText="own id" dataField="own_id"/>
<mx:DataGridColumn headerText="url" dataField="url"/>
<mx:DataGridColumn headerText="original thumb" dataField="original_thumb" visible="false"/>
<mx:DataGridColumn headerText="embed src" dataField="embed_src" visible="false"/>
<mx:DataGridColumn headerText="tags" dataField="tags" visible="false"/>
<mx:DataGridColumn headerText="flv url" dataField="flv_url"/>
<mx:DataGridColumn headerText="local flv" dataField="flv_local"/>
<mx:DataGridColumn headerText="video id" dataField="video_id" visible="false"/>
<mx:DataGridColumn headerText="original bigthumb" dataField="original_bigthumb" visible="false"/>
<mx:DataGridColumn headerText="flv width" dataField="flv_width"/>
<mx:DataGridColumn headerText="flv height" dataField="flv_height"/>
<mx:DataGridColumn headerText="duration" dataField="duration"/>
<mx:DataGridColumn headerText="status" dataField="status"/>
<mx:DataGridColumn headerText="progress" itemRenderer="com.sidras.dev.components.CustomProgressBar" width="200"/>
</mx:columns>
</mx:DataGrid>
CustomProgressBar:
package com.sidras.dev.components
{
import com.sidras.xtubetools.*;
import flash.events.MouseEvent;
import mx.containers.HBox;
import mx.controls.Button;
import mx.controls.ProgressBar;
import mx.controls.dataGridClasses.*;
import mx.events.FlexEvent;
public class CustomProgressBar extends HBox
{
private var pb:ProgressBar;
private var saveBtn:Button;
private var cancelBtn:Button;
private var dl:DownloadClass;
private var db:DatabaseClass;
private var localFlv:String;
[Bindable]
private var storageArray:Array = new Array();
public function CustomProgressBar():void {
db = new DatabaseClass();
dl = new DownloadClass();
dl.addEventListener(EventSystem.DOWNLOAD_PROGRESS, onProg);
pb = new ProgressBar();
pb.mode = "manual";
pb.percentWidth = 80;
pb.labelPlacement = "center";
this.setStyle("verticalAlign","middle");
saveBtn = new Button();
saveBtn.label = 's';
saveBtn.width = 20;
saveBtn.addEventListener(MouseEvent.CLICK, onSaveClick);
cancelBtn = new Button();
cancelBtn.label = 'c';
cancelBtn.enabled = false;
cancelBtn.width = 20;
cancelBtn.addEventListener(MouseEvent.CLICK, onCancelClick);
addChild(pb);
addChild(saveBtn);
addChild(cancelBtn);
}
private function onSaveClick(evt:MouseEvent):void
{
localFlv = this.parentDocument.dl_path.text+data['own_id']+'.flv';
dl.downloadFlv(data['flv_url'],this.parentDocument.dl_path.text,data['own_id']+'.flv',0);
cancelBtn.enabled = true;
}
private function onCancelClick(evt:MouseEvent):void
{
dl.cancelDownload()
cancelBtn.enabled = false;
}
private function onProg(evt:EventSystem):void
{
pb.setProgress(evt.passArr[0]['bytesLoaded'], evt.passArr[0]['bytesTotal']);
}
}
}