Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 如何使用Apache文件读取CSV文件?_Actionscript 3_Apache Flex_Csv_Flex4_Mxml - Fatal编程技术网

Actionscript 3 如何使用Apache文件读取CSV文件?

Actionscript 3 如何使用Apache文件读取CSV文件?,actionscript-3,apache-flex,csv,flex4,mxml,Actionscript 3,Apache Flex,Csv,Flex4,Mxml,我是Apache Flex的新手。我需要编写代码来读取内容如下所示的CSV文件,并使用mxml和actionscript将其填充为swf文件中的表数据 如何读取CSV文件 如何在mxml中表示表,并在mxml中循环数据 下面是如何在flex中显示CSV数据的简单示例。该代码不包含任何故障切换功能,仅用于演示解决方案 数据通过函数loadData中的URLLoader加载 检索到的数据在函数processData中处理。它被分成几行。每行都转换为数组(同样通过拆分),结果被推送到输出数组,该数组

我是Apache Flex的新手。我需要编写代码来读取内容如下所示的CSV文件,并使用mxml和actionscript将其填充为swf文件中的表数据

  • 如何读取CSV文件
  • 如何在mxml中表示表,并在mxml中循环数据

  • 下面是如何在flex中显示CSV数据的简单示例。该代码不包含任何故障切换功能,仅用于演示解决方案

  • 数据通过函数loadData中的URLLoader加载
  • 检索到的数据在函数processData中处理。它被分成几行。每行都转换为数组(同样通过拆分),结果被推送到输出数组,该数组被指定为网格的数据提供者。Grid已定义列,其中的数据字段与从行转换的数组中的索引相匹配

    <mx:Application name="CSVTest" xmlns:mx="http://www.adobe.com/2006/mxml" applicationComplete="loadData();">
        <mx:Script><![CDATA[
        private var dataLoader:URLLoader;
    
        private function loadData():void {
            dataLoader = new URLLoader(new URLRequest("data.csv"));
            dataLoader.addEventListener(Event.COMPLETE, parseData);
        }
    
        private function parseData(event:Event):void {
            var output:Array = [];
            var input:String = dataLoader.data;
            var rows:Array = input.split("\n");
            for (var i:int = 0, len:int = rows.length; i < len; i++) {
                var row:Array = String(rows[i]).split(",");
                output.push(row);
            }
            grid.dataProvider = output;
        }
        ]]></mx:Script>
        <mx:DataGrid id="grid">
            <mx:columns>
                <mx:DataGridColumn dataField="0"/>
                <mx:DataGridColumn dataField="1"/>
                <mx:DataGridColumn dataField="2"/>
                <mx:DataGridColumn dataField="3"/>
                <mx:DataGridColumn dataField="4"/>
                <mx:DataGridColumn dataField="5"/>
                <mx:DataGridColumn dataField="6"/>
                <mx:DataGridColumn dataField="7"/>
            </mx:columns>
        </mx:DataGrid>
    </mx:Application>
    
    
    

  • 我尝试使用URLLoader、URLRequest类。由于我不熟悉这种语言,我无法理解它的确切语法。您是否计划构建桌面应用程序、移动应用程序或基于浏览器的应用程序?您是否希望将此CSV文件作为应用程序的一部分分发,或通过URL远程加载?您可能不需要Flex代码来加载数据;但您可以使用FlexDataGrid来显示它,这是一个基于浏览器的示例应用程序。我的经理要求我使用flex加载数据。
    <mx:Application name="CSVTest" xmlns:mx="http://www.adobe.com/2006/mxml" applicationComplete="loadData();">
        <mx:Script><![CDATA[
        private var dataLoader:URLLoader;
    
        private function loadData():void {
            dataLoader = new URLLoader(new URLRequest("data.csv"));
            dataLoader.addEventListener(Event.COMPLETE, parseData);
        }
    
        private function parseData(event:Event):void {
            var output:Array = [];
            var input:String = dataLoader.data;
            var rows:Array = input.split("\n");
            for (var i:int = 0, len:int = rows.length; i < len; i++) {
                var row:Array = String(rows[i]).split(",");
                output.push(row);
            }
            grid.dataProvider = output;
        }
        ]]></mx:Script>
        <mx:DataGrid id="grid">
            <mx:columns>
                <mx:DataGridColumn dataField="0"/>
                <mx:DataGridColumn dataField="1"/>
                <mx:DataGridColumn dataField="2"/>
                <mx:DataGridColumn dataField="3"/>
                <mx:DataGridColumn dataField="4"/>
                <mx:DataGridColumn dataField="5"/>
                <mx:DataGridColumn dataField="6"/>
                <mx:DataGridColumn dataField="7"/>
            </mx:columns>
        </mx:DataGrid>
    </mx:Application>