0

我正在尝试实现以下内容:

  1. 数据网格的第一列有一个复选框。
  2. 选中复选框,然后删除 datagrid 列。
  3. 动态地,在动态添加行时添加复选框。
  4. 如果现在数据在行中,则不显示复选框。

有人可以提供一些指导吗?

4

2 回答 2

3

我假设您要删除一行而不是一列。以下作品

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
                layout="vertical">
    <mx:Script>
        <![CDATA[
            import mx.events.IndexChangedEvent;
            import mx.collections.ArrayCollection;
            import mx.controls.Alert;

            [Bindable]
            private var ac:ArrayCollection=new ArrayCollection([{name: "John", shouldDelete: true}, {name: "Joe", shouldDelete: false}, {name: "Jill", shouldDelete: false}])


            private function deleteRows()
            {
                for each (var row:Object in ac)
                {
                    if (row.shouldDelete == true)
                    {
                        var i:int=ac.getItemIndex(row);
                        ac.removeItemAt(i);
                    }
                }
            }
        ]]>
    </mx:Script>

    <mx:VBox>
        <mx:DataGrid id="dg"
                     dataProvider="{ac}">
            <mx:columns>
                <mx:DataGridColumn dataField="name">

                </mx:DataGridColumn>
                <mx:DataGridColumn id="col2"
                                   editorDataField="selected"
                                   rendererIsEditor="true"
                                   dataField="data.shouldDelete">
                    <mx:itemRenderer>
                        <mx:Component>
                            <mx:CheckBox label="Test"
                                         selected="{data.shouldDelete}"
                                         change="data.shouldDelete=selected"/>
                        </mx:Component>
                    </mx:itemRenderer>
                </mx:DataGridColumn>

            </mx:columns>

        </mx:DataGrid>
        <mx:Button label="delete"
                   id="deleteBtn"
                   click="deleteRows()"/>

    </mx:VBox>
</mx:Application>
于 2009-07-06T14:37:08.787 回答
0

在 itemdatabound 中,您应该在特定单元格中将 enabled 设置为 false ....

于 2009-09-04T07:59:28.537 回答