Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как узнать количество строк в DataGrid? (http://www.flasher.ru/forum/showthread.php?t=148363)

Тимур 28.12.2010 23:19

Как узнать количество строк в DataGrid?
 
У меня задачка, мне нужно пробежаться по всем строкам заполненным в датагриде и сохранить их в бд...
вопрос сохранения я не затрагиваю...
вот вопрос как пробежаться - это меня и волнует...
я решил использовать цикл for, но для этого мне нужно знать количество заполненных строк в DG...
помогите, пожалуйста, узнать их количество или предложите другой вариант, как пробежаться по всем строчкам не зная их количества....заранее спасибо...

bav 29.12.2010 01:08

Может быть вам подойдет DataGrid#rowCount?

Добавлено через 5 минут
Или, скажем, DataProvider#toArray()?

Тимур 29.12.2010 01:36

rowCount точно не подходит...он выдает строки, которые просто видны, не зависимо от того заполнены они или нет...
а вот у датапровайдера моего датагрида нет свойства toArray вообще...

bav 29.12.2010 01:41

Может быть у него есть метод toArray(), который «Создает объект Array, представляющий данные, содержащиеся в поставщике данных»?

Тимур 29.12.2010 01:55

Да простите, но метода тоже я не нахожу...

bav 29.12.2010 02:14

Вы ходили по второй ссылке из второго поста? Вот пример из хелпа:
Код AS3:

package
{
        import fl.controls.DataGrid;
        import fl.data.DataProvider;
        import flash.display.MovieClip;
 
        public class Temp extends MovieClip
        {
                public function Temp()
                {
                        var dp:DataProvider = new DataProvider();
                        dp.addItem({col1:"item 1.A", col2:"item 1.B", col3:"item 1.C"});
                        dp.addItem({col1:"item 2.A", col2:"item 2.B", col3:"item 2.C"});
                        dp.addItem({col1:"item 3.A", col2:"item 3.B", col3:"item 3.C"});
                        dp.addItem({col1:"item 4.A", col2:"item 4.B", col3:"item 4.C"});
 
                        var myDataGrid:DataGrid = new DataGrid();
                        myDataGrid.addColumn("col1");
                        myDataGrid.addColumn("col2");
                        myDataGrid.addColumn("col3");
                        myDataGrid.dataProvider = dp;
                        myDataGrid.move(10, 10);
                        myDataGrid.setSize(300, 200);
                        addChild(myDataGrid);
 
                        var fixedHeight:uint = Math.min(myDataGrid.rowCount, myDataGrid.length);
                        myDataGrid.rowCount = fixedHeight;
 
                        trace(myDataGrid.width, myDataGrid.height); // 300 105
                        trace(myDataGrid.rowCount); // 4
                        // вот здесь обращаемся к методу toArray()
                        // объекта dp, который является экземпляром класса DataProvider
                        trace(dp.toArray()); // [object Object],[object Object],[object Object],[object Object]
                }
        }
}


Тимур 29.12.2010 02:25

я пишу во флеш билдере и у меня нет даже
import fl.data.DataProvider; к сожалению...возможно в этом проблема?
import mx.data.DataProvider; тоже нет...

alatar 29.12.2010 03:20

При чем тут вообще импорты. Ссылка на данные по которым заполняется DataGrid есть в его dataProvider. Берите оттуда.


Часовой пояс GMT +4, время: 14:36.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.