【发布时间】:2011-07-29 21:39:40
【问题描述】:
我有一个数据网格,包含在 MXML 中定义的三列。
我还在数据网格中动态添加一些列,具体取决于检索到的数据。
最初,我在应用程序的初始化事件中将原始列设置为数组:
private var _origColumns:Array();
private function appInit() :void
{
_origColumns = new Array();
_origColumns = myDataGrid.columns;
}
当我调用函数添加列时,我想首先将数据网格恢复到其原始列集
private function addCols() :void
{
var columnToAdd:Array = new Array();
columnToAdd = _origColumns;
// Add the new columns to the columnToAdd Array.
//
//
myDataGrid.columns = columnToAdd;
}
我遇到的问题是,当我调用函数 addCols 时,添加的那些列也仍然存在,即使我试图恢复要添加到 _origColumns 数组的新列数组。基本上,我最终得到了最初添加的其他列,以及刚刚添加的新列。我想先恢复到前三列,然后只添加我要添加的列。
我检查了 _origColumns 变量,当列已添加到数据网格时,它似乎正在增长,尽管我没有将它重新分配给数据网格列的值。
我希望有人可以提供更多关于为什么会发生这种情况的见解。在过去的几个小时里一直在敲我的头。
我尝试向数组 _origColumns 添加一个 changewatcher 实用程序,但它似乎正在更改,但 watch 事件没有调度。
谢谢,
【问题讨论】:
-
您能否在 // 将新列添加到 columnToAdd 数组部分中发布那些代码,因为它们可能是发生这种情况的原因。
标签: arrays apache-flex datagrid