如何创建动态弹性数据网格

Posted

技术标签:

【中文标题】如何创建动态弹性数据网格【英文标题】:How to create a dynamic flex datagrid 【发布时间】:2010-11-24 07:35:08 【问题描述】:

我正在尝试在 Flex 中创建一个动态数据网格。数据恢复正常,我可以添加列标题。我需要这样做,因为列名是动态的并且来自 mysql 数据库。

谁能帮我将 re.result.resultSet.results[j].notes 中的值放入数据字段中?

   <mx:Script>
     <![CDATA[

           import mx.rpc.events.FaultEvent;
           import mx.rpc.events.ResultEvent;
             import mx.controls.Alert;
             import mx.controls.dataGridClasses.DataGridColumn; 


            public function faultHandler(event:FaultEvent ):void 
                // The following statements must be inside a function. 

                text.text = event.message.toString();
            
            public function resultHandler(re:ResultEvent):void 
                // The following statements must be inside a function. 

                text.text = "blah";
                text.text += re.result.resultSet.columnList[0].key.toString();


                for (var i:int = 0; i< re.result.resultSet.columnList.length; i++) 
                    text.text += re.result.resultSet.columnList[i].key.toString();

                
                var cols:Array = new Array();
                var dataProv:Array = new Array();
                for (var j:int = 0; j< re.result.resultSet.columnList.length; j++) 
                    text.text += re.result.resultSet.results[j].notes.toString();
                    var column:DataGridColumn = new DataGridColumn;
                    column.headerText= re.result.resultSet.results[j].label.toString();
                    column.dataField = re.result.resultSet.results[j].notes.toString();
                    cols.push(column);


            
            myGrid.columns = cols;


            



    ]]></mx:Script>
     <mx:TextArea id="text" x="74" y="47"  />
     <mx:Button x="647" y="46" label="Button" click ="myservice.getWorkSheets()"/>
    <mx:DataGrid id="myGrid" x="74" y="424" />

</mx:Application>

谢谢,

【问题讨论】:

你能解释一下吗?我认为这段代码应该可以工作并在运行时添加列你面临的问题是什么 数据网格的列标题出现,但所有单元格都是空的。 您好,很抱歉让您感到困惑,我看到您现在正在尝试做什么,而我的代码正在以另一种方式进行。我希望至少 dataField 位可以清除一些东西。 好吧,如果你没有删除它可能会...... 【参考方案1】:

没有为数据网格设置数据提供者。您定义的是列,而不是行数据。

【讨论】:

【参考方案2】:

我认为你必须在之后验证它 你推动列。

样本:

myGrid.validateNow();

【讨论】:

以上是关于如何创建动态弹性数据网格的主要内容,如果未能解决你的问题,请参考以下文章

动态加载无限网格的数据

如何从 json 创建表列和字段? (动态网格)

使用动态超链接创建数据网格视图

ExtJs 5 动态网格分页

Silverlight OLAP 数据网格? [关闭]

如何使用动态 WHERE 子句将网格视图绑定到数据源?