Gettinf Property ** text ** не найдена ошибка в DataGrid - PullRequest
0 голосов
/ 09 августа 2010

Я использую пользовательский itemEditor для моей DataGrid. ItemEditor имеет простой TextField в качестве компонента. Но когда я нажимаю на ячейку, я получаю сообщение об ошибке: ReferenceError: Ошибка № 1069: свойство text не найдено в editors.customItemEditor и значение по умолчанию отсутствует. в mx.controls :: DataGrid / itemEditorItemEditEndHandler () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ framework \ src \ mx \ controls \ DataGrid.as: 4827]

Пожалуйста, помогите мне решить эту проблему.

Мое мнение, что для поля "текст" идет ошибка. Но я не получил доступ к текстовому полю или использовал его где-либо в моем коде.

С уважением, Ravi

Ответы [ 3 ]

1 голос
/ 25 декабря 2013

Я решил проблему с коммитом, включив "return data [" selected "]. ToString ()" в get text:

    <mx:DataGridColumn dataField="selected" rendererIsEditor="true" >
            <mx:itemRenderer> 
                <fx:Component>
                    <mx:Box styleName="" width="100%" height="100%" backgroundAlpha="0.0"
                            horizontalAlign="center" verticalAlign="middle">

                        <fx:Script>
                            <![CDATA[

                                public function get text():String
                                {
                                    return data["selected"].toString();
                                }
                                public function set text(value:String):void
                                {

                                }
                                protected function checkbox1_clickHandler(event:MouseEvent):void
                                {
                                    data["selected"]=event.target["selected"];
                                }
                            ]]>
                        </fx:Script>

                        <mx:CheckBox selected="{data.selected}" click="checkbox1_clickHandler(event)"/>
                    </mx:Box>
                </fx:Component>
            </mx:itemRenderer>              
        </mx:DataGridColumn>
0 голосов
/ 09 августа 2010

Я все еще поражен этой ошибкой, но я думаю, что есть надежда выйти из нее ....:)

Если мы возьмем TextInput как itemEditor, например:

dataGridColumn.itemEditor = new ClassFactory(TextInput);

Тогда не было никаких проблем, поскольку внутри TextInput.as определено внутреннее определение текста. На аналогичном замечании, если я скопирую заданный текст и получу текст внутри нашего пользовательского редактора, то он работает нормально ... единственная проблема, которая пришествие касается фиксации измененных значений.

Я работаю над этим, надеюсь, я смогу разобраться.

П.С .: Я здесь новичок, так что, пожалуйста, простите меня за любую идиотскую РНД ...: p

0 голосов
/ 09 августа 2010

Взято из http://livedocs.adobe.com/flex/3/html/help.html?content=celleditor_8.html

По умолчанию Flex ожидает, что редактор элементов вернет одно значение в элемент управления на основе списка.Вы используете свойство editorDataField элемента управления на основе списка, чтобы указать свойство редактора элементов, который содержит новые данные.Flex преобразует значение в соответствующий тип данных для ячейки.

Редактором элементов по умолчанию является элемент управления TextInput.Следовательно, значением по умолчанию для свойства editorDataField является «text», что соответствует свойству text элемента управления TextInput.Если вы указываете пользовательский редактор элементов, вы также устанавливаете свойство editorDataField на соответствующее свойство редактора элементов
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...