在我的第一个AIR应用程序(使用FlashBuilder4.5)中,我试图
这是我的代码:
protected function onInit(event:FlexEvent):void {
            _documentArr = new ArrayCollection();
            var fileDir:File = File.documentsDirectory;
            fileDir = fileDir.resolvePath("data");
            var files:Array = fileDir.getDirectoryListing();
            for ( var i:int = 0; i < files.length; i++ ) {
                var file:File = File( files[i] );
                var inputStream:FileStream = new FileStream();
                inputStream.open(file, FileMode.READ);
                var dataStr:String = inputStream.readUTFBytes(inputStream.bytesAvailable);
                if ( dataStr != "" ) {
                    var data:Object = JSON.parse(dataStr);
                    _documentArr.addItem(data);
                }
            }
        }这是我的网格:
<s:DataGrid id="grid" width="100%" height="100%" requestedRowCount="4" dataProvider="{_documentArr}"
            click="grid_clickHandler(event)">
    <s:columns>
        <s:ArrayList>
            <s:GridColumn dataField="wText" headerText="Work Order No."></s:GridColumn>
            <s:GridColumn dataField="requestDate" headerText="Date Requested" labelFunction="labelDate"></s:GridColumn>
            <s:GridColumn dataField="client" headerText="Client"></s:GridColumn>
            <s:GridColumn dataField="cPerson" headerText="Contact Person"></s:GridColumn>
            <s:GridColumn dataField="add" headerText="Address"></s:GridColumn>
            <s:GridColumn dataField="pnText" headerText="Plate #"></s:GridColumn>
            <s:GridColumn dataField="bnText" headerText="Body #"></s:GridColumn>
            <s:GridColumn dataField="atText" headerText="Assigned To"></s:GridColumn>   
        </s:ArrayList>
    </s:columns>
</s:DataGrid>这是我的删除按钮:
protected function onDelete(eventObj:CloseEvent):void {
            if( eventObj.detail == Alert.YES) {
            _documentArr.removeItemAt(grid.selectedIndex);
            }在这里我要做的是,在创建了一个JSON文件之后,JSON文件将被编码在我的datagrid中。之后,JSON文件将显示在我的数据集中,每当我单击数据集中的selectedIndex并单击delete按钮时,我都希望删除selectedIndex和JSON文件。
(预先谢谢:)
发布于 2014-05-26 09:10:55
删除非常简单--非常类似于保存。我不知道你实际上是在哪里保存这些文件(只提供读取),但是AIR引用可以帮助您:US/FlashPlatform/reference/actionscript/3/flash/filesystem/File.html#deleteFile()
它应该类似于:
var targetDir:File = new File();
var targetFile:File = targetDir.resolvePath("c:/test.txt");
targetFile.deleteFile();我想您需要帮助更新,因为您还没有进行保存?更新基本上是用包含新数据的文件覆盖旧文件:US/FlashPlatform/reference/actionscript/3/flash/net/FileReference.html#save()。
它非常接近:
var targetFile:File = targetDir.resolvePath("c:/test.txt");
targetFile.save("some data");有不同的方法来做所有这些事情-(A)同步的,不同的格式,各种额外的,但我认为这已经足够你的问题。
发布于 2014-05-28 02:48:46
现在,以下是我的删除按钮的工作方式:
protected function onDelete(eventObj:CloseEvent):void {
            var file:File = File.documentsDirectory;
            var targetfile:File = file.resolvePath("data" + File.separator + grid.selectedItem.wText );
            if( eventObj.detail == Alert.YES) {
                _documentArr.removeItemAt(grid.selectedIndex);
                targetfile.deleteFile();
            }
        }https://stackoverflow.com/questions/23862264
复制相似问题