0
我正在使用一個數組來填充flash 8 datagrid,很簡單。我也預先排列數組中的一個字段,也很簡單。flash 8 datagrid排序箭頭
我想排序箭頭出現第一填充網格時,但它不是!
用戶必須點擊標題單元格的箭頭變得可見。有什麼方法可以覆蓋這種行爲。
感謝
我正在使用一個數組來填充flash 8 datagrid,很簡單。我也預先排列數組中的一個字段,也很簡單。flash 8 datagrid排序箭頭
我想排序箭頭出現第一填充網格時,但它不是!
用戶必須點擊標題單元格的箭頭變得可見。有什麼方法可以覆蓋這種行爲。
感謝
這已經有一段時間,因爲我已經感動AS2。顯然,我不能讓事情沒有黑客的工作。
通常你應該已經能夠與dg.dispatchEvent脫身({類型:「headerRelease」}),但沒有,似乎沒有工作。我使用了Debug> List Objects選項來獲取列標題的名稱,然後在其上調用onRelease()函數。顯然這隻在一個onEnterFrame中工作,我後來刪除了它。
這裏是我的代碼,以幫助建立從文檔:
//hacky boolean to check if what we asked for was done
var selfClicked:Boolean = false;
myDP = new Array({name:"Chris", price:"Priceless"},{name:"Daisy", price:"Adequate"}, {name:"Nigel", price:"Cheap"});
dg.dataProvider = myDP;
onEnterFrame = function(){
if(!selfClicked){
//ask nicely
dg.dispatchEvent({type:"headerRelease"});
//no ? oh well...
dg.content_mc.header_mc.hO0.onRelease();
//fix for header label
dg.content_mc.header_mc.fHeaderCell0._y = dg.content_mc.header_mc.fHeaderCell1._y;
selfClicked = true;
delete onEnterFrame;
}
}
this.headerRelease = function(eventObject){
//nicely hidden debugging gem here, thanks Jen deHaan!
trace(mx.data.binding.ObjectDumper.toString(eventObject));
}
dg.addEventListener("headerRelease", this);
HTH, 喬治
喬治你好。 非常感謝,這真棒,確實強制在網格上放置箭頭。 幾個問題,如果我可以。 什麼是派遣事件行,因爲它似乎仍然工作時,它被刪除。 當我在代碼運行後點擊第1列時,標題文本的移動方式與其它列的移動方式不同(如果難以解釋,請參考參考資料!)。 無論如何非常感謝。 – Dave 2009-12-01 10:46:17
嗨戴夫。通常你應該能夠從組件發送一個事件並且應該修復它。你可以把它擦掉,我想表現出試圖用一種不太古怪的方式去做。我明白你的意思,標題文字對角線而不是水平移動。我認爲這可能是因爲在按下標題之前不會創建排序箭頭剪輯,並且因爲我們正在黑客攻擊它,所以文本會稍微移動一點(不確定爲什麼),但是如果添加以下行之後第hO0.onRelease(): dg.content_mc.header_mc.fHeaderCell0._y = dg.content_mc.header_mc.fHeaderCell1._y; – 2009-12-01 14:19:58
謝謝喬治。我發現這個作品也是如此 dg.content_mc.header_mc.hO0.onPress(); dg.content_mc.header_mc.hO0.onRelease();它似乎做了完整的新聞和發佈,並修復了它。太好了!再次感謝 – Dave 2009-12-01 16:01:28