Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Flash и таблица (http://www.flasher.ru/forum/showthread.php?t=66463)

adelante 06.07.2005 22:34

Flash и таблица
 
привет всем.
у меня задание сделать вывод информации в виде таблицы. т.е. это должно приблизительно выглядеть так: тесктовые поля и линии, которые рисуют таблицу.
все заключается в том, что я получаю данные и в зависимости от их кол-ва должно генерироватся соответсвующая таблица. (например 6 переменных, значит таблица 3х3)
все, что пришло умного в голову это создать объект и его дублировать, т.е. перемещать на определенное кол-во пикселей.
если у вас есть что-то более рациональное поделитесь советом плиз.
заранее спасибки.

Nirth 06.07.2005 22:37

посмотри компонент DataGrid

KUZEN 06.07.2005 23:06

там как раз всё так и сделано как ты хол делать сам ...

kruasan 07.07.2005 03:21

Как по мне, наиболее рациональный путь - это проделать все c использованием 4 основных функций:
lineStyle
moveTo
lineTo
createTextField
Если захочешь еще и заливать цветами ячейки таблицы, то добавь к списку beginFill и endFill. Текстфилдам кое где надо будет активировать autoSize и multiline.

MIX-er 07.07.2005 04:10

Цитата:

Сообщение от kruasan
Как по мне, наиболее рациональный путь - это проделать все c использованием 4 основных функций:
lineStyle
moveTo
lineTo
createTextField
Если захочешь еще и заливать цветами ячейки таблицы, то добавь к списку beginFill и endFill. Текстфилдам кое где надо будет активировать autoSize и multiline.

а если юзать бордюры самих текст филдов??

kruasan 07.07.2005 04:51

можно и поюзать... да вот только вертикальные и горизонтальные бордюры ячейки таблицы не всегда одинаково толстые

MIX-er 07.07.2005 04:56

блин может ворд на флеше сварганишь??)))

может я и дурак но в своё время я таблицы строил с помощью дубликейтмувиклип...
но у меня там всё было основанно на том что таблицы имеют одинаковые грани и инфа в них из хмл загонялась но эт было давно... а и ещё нужно было чтоб при нажатии на ячейку содержимое копировалось в буффер...
понимаю что по тупому но времени было мало...

kruasan 07.07.2005 14:48

Ну я тоже так часто делаю... Но только через attachMovie.
Но если таблица - это просто набор линий разной толщины, разноцветных прямоугольников и текстов, то лучше обходиться без лишних мувиклипов.

adelante 07.07.2005 20:34

Может у кого-то завалялась инфа по DataGrid или рабочий пример ?
Заранее благодарен

MIX-er 07.07.2005 20:35

F1=>help

без обид.. там всё написанно нормально...

adelante 07.07.2005 20:44

Видать мне проще сразу спросить.
1. Как записуются данные в формы ?
2. Как записать значения в отдельные ячейки ?
3. Как изменить цвет ряда ?
P.S. Help рулит, но не всегда.

MIX-er 07.07.2005 21:11

DataGrid.addColumn() Adds a column to the data grid.
DataGrid.addColumnAt() Adds a column to the data grid at a specified location.
DataGrid.addItem() Adds an item to the data grid.
DataGrid.addItemAt() Adds an item to the data grid at a specified location.
DataGrid.editField() Replaces the cell data at a specified location.
DataGrid.getColumnAt() Gets a reference to a column at a specified location.
DataGrid.getColumnIndex() Gets a reference to the DataGridColumn object at the specified
index.
DataGrid.removeAllColumns() Removes all columns from a data grid.
DataGrid.removeColumnAt() Removes a column from a data grid at a specified location.
DataGrid.replaceItemAt() Replaces an item at a specified location with another item.
DataGrid.spaceColumnsEqually() Spaces all columns equally.

MIX-er 07.07.2005 21:13

также посмотри- Using styles with the DataGrid component

adelante 07.07.2005 21:53

какую роль выполняет DataProvider ? и DataHolder ? (т.е. связь между DataGrid и DP&DH)
Заранее сенки

MIX-er 07.07.2005 22:00

Usage
myDataGrid.dataProvider
Description
Property; the data model for items viewed in a DataGrid component.
DataGrid component (Flash Professional only) 269
The data grid adds methods to the prototype of the Array class so that each Array object conforms
to the DataProvider API (see DataProvider.as in the Classes/mx/controls/listclasses folder). Any
array that is in the same frame or screen as a data grid automatically has all the methods
(addItem(), getItemAt(), and so on) needed for it to be the data model of a data grid, and can
be used to broadcast data model changes to multiple components.
In a DataGrid component, you specify fields for display in the DataGrid.columnNames property.
If you don’t define the column set (by setting the DataGrid.columnNames property or by calling
DataGrid.addColumn()) for the data grid before the DataGrid.dataProvider property has
been set, the data grid generates columns for each field in the data provider’s first item, once that
item arrives.
Any object that implements the DataProvider API can be used as a data provider for a data grid
(including Flash Remoting recordsets, data sets, and arrays).
Use a grid’s data provider to communicate with the data in the grid because the data provider
remains consistent, regardless of scroll position.
Example
The following example creates an array to be used as a data provider and assigns it directly to the
dataProvider property:
grid.dataProvider = [{name:"Chris", price:"Priceless"}, {name:"Nigel",
price:"cheap"}];
The following example creates a new Array object that is decorated with the DataProvider API. It
uses a for loop to add 20 items to the grid:
myDP = new Array();
for (var i=0; i<20; i++)
myDP.addItem({name:"Nivesh", price:"Priceless"});
list.dataProvider = myDP

MIX-er 07.07.2005 22:01

даа...
аля иниверсальный поиск по пдф файлу с использованием терминального доступа...)))

скачай хелп с сайта макромедии.. там всё прекрасно расписанно и юзать удобно...

adelante 07.07.2005 22:05

ну ты гонишь ! ж)
но всеравно сенки.
P.s. уже разобрался по хелпу.

adelante 08.07.2005 23:48

Может кто-то знает в чем бок ?
-------------------------------------------------------
myDP = new Array();
for (var i=0; i<20; i++)
myDP.addItem({name:"Nivesh"+i, price:"Priceless"});
list.dataProvider = myDP
-------------------------------------------------------
ass=list.dataProvider.getItemAt(1).label <----не работает
trace(ass) <---undefined
Заранее сенкс.

MIX-er 09.07.2005 10:31

тебе же вроде нада сделать таблицу те по сути в датагрид пихануть массив не так??

adelante 09.07.2005 21:47

слушай, ты решил себе набить количество постов ? или ты просто флудишь ?. если не знаешь, то не нужно задавать такие вопросы.

K.A.T.A.F.A.L.K.E.R 10.07.2005 13:25

Может, я не прав, но...
myDP.addItem({name:"Nivesh"+i, price:"Priceless"});
- засунул ты объект с параметрами name и price
ass=list.dataProvider.getItemAt(1).label - кто такой label??? Там же только name и price есть? Или это для примера как переменная? :) :D

K.A.T.A.F.A.L.K.E.R 10.07.2005 13:27

А вообще я солидарен с моими коллегами :D Стандартные компоненты - ацтой! Рисуй все САМ!!! Причем именно через moveTo - lineTo!!! Будет на порядок красивее (если постараться) и надежно! ;)

Fl00r 10.07.2005 14:43

Интересно, а HTML с <table> не катит?

adelante 10.07.2005 17:53

Я окончательно забил на DataGrid и решил сделать все сам.
Насчет html tabl, то не катит. :)
Теперь вот такой вопрос:
-----------------------------------------------------------------
spacing=60;
baseY=_root.b11._x;
baseY2=_root.b22._x;
ht=_root.b11._width;
ht2=_root.b22._width;
for(i=0;i<5;i++){
_root.b11.duplicateMovieClip("I" + i, i,{_x:baseY+(spacing*(i+1))})
_root.b22.duplicateMovieClip("Item" + i,i+10,{_x:baseY2+(spacing*(i+1))
}
----------------------------------------------------------------------
Если этот код вставить в флеш, то можно увидить расположеные рядом текстовые поля. Текстовые поля чередуются, т.е. Dynamic- Input - Dynamic - Input и так далее.
b11 - перемен динамично текстового поля
b22 - Input text field
Так вот как мне вывести значения в динамичные поля.
Насколько я понимаю это тесковые поля имеют назания "I"+i.
Помогите :)
P.S. куда можно выложить исходник для примера ? :)

adelante 10.07.2005 17:59

Цитата:

ass=list.dataProvider.getItemAt(1).label - кто такой label??? Там же только name и price есть? Или это для примера как переменная?
Если бы встретил, то угостил бы тебя пивом :)

adelante 10.07.2005 18:33

сорри за поспешный вопрос, я уже разобрался :).


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

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