flash 8 datagrid排序箭头

时间:2009-11-30 16:36:47

标签: flash

我正在使用一个数组来填充flash 8数据网格,这很简单。我也预先按其中一个字段对数组进行排序,也很简单。

我希望在首次填充网格时出现排序箭头,但它不是!!

用户必须单击标题单元格才能显示箭头。有没有办法覆盖这种行为。

由于

1 个答案:

答案 0 :(得分:0)

自从我触及as2已经有一段时间了。显然,如果没有黑客攻击,我就无法工作。

通常你应该能够逃脱dg.dispatchEvent({type:“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, 乔治