2011-07-06 159 views
0

我是Flash和AS3的新手。 我有這樣as3數據網格中的複選框

 
    col1  col2  col3 col4 
[checkbox] value value value 
[checkbox] value value value 
[checkbox] value value value 
[checkbox] value value value 

Datagrid的一個DataGrid從MySQL使用每頁services.100記錄在數據網格動態填寫。 如果我選擇一些複選框並轉到下一頁,並選擇幾個,而不是回到第1頁。應該選中以前選擇的複選框。

我有頁面1的PHP會話中的checkboxes值,我可以在Flash中訪問這些值,但我不知道如何設置checboxes checked = true; ,因爲在複選框上沒有發生CHANGE事件。

我正在使用波紋管類。 http://www.actionscript.org/forums/showthread.php3?t=234416

plz幫助我的人

@Josh磨憨

:(沒有運氣。u能PLZ PLZ檢查下面的代碼。和指正如何調用

CheckCellClass.onCheckChange(新Event(Event.CHANGE));

function showSearchCriteria(returnObj:Object){// RETURN是來自數據庫的值 var varName:String; 對(varName的在returnObj){

/* NOTE : In this loop i want to set checkbox boxes to be checked. i mean selected = true;*/ 

    var plid      = int (returnObj[varName] ["plid"]); //THIS IS GOING TO ASSIGN TO CHECKBOX 
    var varState   = String(returnObj[varName]["state"]); 
    var varCity    = String(returnObj[varName]["city"]); 
    var varacgmeid   = String(returnObj[varName]["acgmeid"]); 
    var varProgramname  = String(returnObj[varName]["programname"]); 
    var varUrl    = String(returnObj[varName]["url"]); 
    var varNoofseats  = int (returnObj[varName]["noofseats"]); 
    var varDeadline   = String(returnObj[varName]["deadline"]); 
    var varYearofpassing = int (returnObj[varName]["passYear"]); 
    var varScore   = int (returnObj[varName]["stepone2digit"]); 
    var varSteponeattempt = int (returnObj[varName]["steponeattempt"]); 
    var varObservership  = int (returnObj[varName]["observership"]); 
    var varExternship  = int (returnObj[varName]["externship"]); 
    var varj1h1bf1   = String(returnObj[varName]["visa"]); 
    var varProgramtype  = String(returnObj[varName]["programtype"]); 
    var varComment   = String(returnObj[varName]["comment"]); 
    var varContact   = String(returnObj[varName]["contact"]); 

    //plid.onCheckChange (new Event(Event.CHANGE)); 
    arrDP.push({ 
     //Column   Value 
     Select   : plid, 
     State   : varState, 
     City    : varCity, 
     ACGMEID   : varacgmeid, 
     ProgramName  : varProgramname, 
     NoofnSeats  : varNoofseats, 
     Deadline   : varDeadline, 
     YearFromPassing : varYearofpassing, 
     Scores   : varScore, 
     Attempts   : varSteponeattempt, 
     UsExperience  : varObservership, 
     NoofMonths  : varExternship, 
     VisaSponsored : varj1h1bf1, 
     Type    : varProgramtype, 
     More    : "Show" 
    }); //push end here.. 
} //for end here.. 

var dp:DataProvider    = new DataProvider(arrDP); 

var select:DataGridColumn  = dg.addColumn("Select"); 
var state :DataGridColumn  = dg.addColumn("State"); 
var city :DataGridColumn  = dg.addColumn("City"); 
var acgmeid :DataGridColumn  = dg.addColumn("ACGMEID"); 
var programname :DataGridColumn = dg.addColumn("ProgramName"); 
var noofseats:DataGridColumn  = dg.addColumn("NoofnSeats"); 
var deadline:DataGridColumn  = dg.addColumn("Deadline"); 
var yearofpassing:DataGridColumn = dg.addColumn("YearFromPassing"); 
var scores:DataGridColumn  = dg.addColumn("Scores"); 
var attempts:DataGridColumn  = dg.addColumn("Attempts"); 
var usexperience:DataGridColumn = dg.addColumn("UsExperience"); 
var noofmonths:DataGridColumn = dg.addColumn("NoofMonths"); 
var visasponsored:DataGridColumn = dg.addColumn("VisaSponsored"); 
var type:DataGridColumn   = dg.addColumn("Type"); 
var more:DataGridColumn   = dg.addColumn("More"); 

select.cellRenderer    = ButtonRenderer; //CELL RENDER FOR CHECKBOX  

dg.dataProvider   = dp; 

}

回答

0

您使用已經重寫了selected屬性的複選框類的setter方法的類,從而無法檢查或使用selected取消選中該複選框屬性。

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/fl/controls/LabelButton.html#selected

CODE:

override public function set selected(value:Boolean):void { 
} 

SOLUTION: 不改變你的班級,讓您的二傳手改變超類的selected財產,有兩個選項:

A)手動調用事件處理程序onCheckChange並將其傳遞給null事件或虛擬事件:

CheckCellClass.onCheckChange (new Event(Event.CHANGE)); 

B)分派Event.CHANGE事件到事件流觸發事件處理程序:

CheckCellClass.dispatchEvent (new Event (Event.CHANGE)); 
+0

感謝答覆。 通過調用CheckCellClass.onCheckChange(new Event(Event.CHANGE)); 它會引發以下錯誤:1061:通過靜態類型Class的引用調用onCheckChange的未定義方法。 – zafar

+0

將「CheckCellClass」替換爲您嘗試切換的複選框的引用。 –

+0

:(不幸的是,你可以用plz來檢查下面的代碼,並且糾正我如何調用 - > CheckCellClass.onCheckChange(new Event(Event.CHANGE)); – zafar

相關問題