PDA

Просмотр полной версии : помогите с датагрид


buket
23.09.2009, 21:36
я новичек, вообщем такое дело есть таблица в базе mysql с 3 ячейками(id, tema и post), tema выводится в datagrid. Как реализовать такую схему: кликаю по полю в датагрид и вылазит новая сцена где в компоненте list отображается соответствующий id tema ей post? вывод в datagrid реализовал

lighto
24.09.2009, 09:45
А вы исплоьзуете какую-то библиотеку PHP что бы связаться с SQL базой или как то подругому?

buket
24.09.2009, 10:29
я использую пхп скрипт написанный мной, меня интересует пример реализации поставленной задачи, а дальше я уже сделаю все под себя, если можете то буду премного благодарен Вам

lighto
24.09.2009, 10:33
Что то типа такого мне вчера эту ссыль кинули.
http://www.actionscript.org/forums/s...52&postcount=6

buket
24.09.2009, 10:43
Что то типа такого мне вчера эту ссыль кинули.
http://www.actionscript.org/forums/s...52&postcount=6

неправильная ссылка:(

нашел ссылку на форуме правильную http://www.actionscript.org/forums/showthread.php3?p=832052#post832052 буду разбираться, спасибо

yorlin
24.09.2009, 11:55
Когда же народ научится нормально излагать свои мысли, такое ощущение, что идет полная диградация...
Если по теме и правильно из ваших изречений понял, то просто вместе с tema присылайте соответствующий post как свойство в xml и по нажатию передавайте в list.
И это еще хорошо, что модераторы сразу не закрыли тему с пометкой: "Название тема не отображает сути вопроса." так как тут проблема больше не с dataGrid...

buket
24.09.2009, 12:17
Когда же народ научится нормально излагать свои мысли, такое ощущение, что идет полная диградация...
Если по теме и правильно из ваших изречений понял, то просто вместе с tema присылайте соответствующий post как свойство в xml и по нажатию передавайте в list.
И это еще хорошо, что модераторы сразу не закрыли тему с пометкой: "Название тема не отображает сути вопроса." так как тут проблема больше не с dataGrid...

помоему все понятно написал, суть вопроса больше в датагрид, мне нужно знать как реализовать это нажатие

yorlin
24.09.2009, 12:51
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
<mx:Script>
<![CDATA[
import mx.events.ListEvent;
private function clickTema(event:ListEvent):void
{
yourList.dataProvider = yourDataGrid.selectedItem.tema.@post;
}
]]>
</mx:Script>
<mx:DataGrid width="100%" itemClick="clickTema(event)" rowCount="2" id="yourDataGrid" dataProvider="{someXML.node}">
<mx:columns>
<mx:DataGridColumn dataField="tema" headerText="Tema"/>
</mx:columns>
</mx:DataGrid>
<mx:XML id="someXML">
<nodes>
<node>
<tema post="df">tema1</tema>
</node>
<node>
<tema post="da">tema2</tema>
</node>
</nodes>
</mx:XML>
<mx:List id="yourList" width="100" height="100"/>
</mx:Application>

buket
24.09.2009, 15:29
yorlinспасибо, но ты меня не совсем понял, я хотел чтобы лист в одельной сцене открывался а сцена с датагрид исчезала

lighto
24.09.2009, 15:45
yorlinспасибо, но ты меня не совсем понял, я хотел чтобы лист в одельной сцене открывался а сцена с датагрид исчезала
Это через PopUpManager например есть 2 файла первый называется DoljnostWindow.mxml и второй в котором прописываешь

import mx.managers.PopUpManager;// что то типа импорта класса иль еще чегото
-----------------------
[Bindable] private var aD:DoljnostWindow;//обьявление переменных


-----------------------
private function DoljnostWindowShow():void
{

aD = new DoljnostWindow();
PopUpManager.addPopUp(aD, this, true); //это открытие файла DoljnostWindow.mxml
PopUpManager.removePopUp(this);// удаление этого окна

}

как то так не знаю уж помог иль нет но все же)):confused: да и еще если что то не так будет то поменяй последнии 2 строчки местами я не помню как правильно

yorlin
24.09.2009, 16:07
yorlinспасибо, но ты меня не совсем понял, я хотел чтобы лист в одельной сцене открывался а сцена с датагрид исчезала

Смотря что подразумевать под сценами...Воспользуйся стэйтами.

Добавлено через 8 минут

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="currentState='datagrid'">
<mx:Script>
<![CDATA[
import mx.events.ListEvent;
import mx.controls.Alert;
private function clickTema(event:ListEvent):void
{
currentState='list';
yourList.dataProvider = yourDataGrid.selectedItem.tema.@post;
}
]]>
</mx:Script>
<mx:states>
<mx:State name="datagrid">
<mx:AddChild>
<mx:DataGrid width="100%" itemClick="clickTema(event)" rowCount="2" id="yourDataGrid" dataProvider="{someXML.node}">
<mx:columns>
<mx:DataGridColumn dataField="tema" headerText="ID"/>
</mx:columns>
</mx:DataGrid>
</mx:AddChild>
</mx:State>
<mx:State name="list">
<mx:AddChild>
<mx:VBox>
<mx:List id="yourList" width="100" height="100"/>
<mx:Button label="Вернуться" click="currentState='datagrid'"/>
</mx:VBox>
</mx:AddChild>
</mx:State>
</mx:states>

<mx:XML id="someXML">
<nodes>
<node>
<tema post="df">tema1</tema>
</node>
<node>
<tema post="da">tema2</tema>
</node>
</nodes>
</mx:XML>
</mx:Application>

buket
24.09.2009, 19:15
еще есть вопросик как вывести в такой формат: <tema post="df">tema1</tema>
у меня идет вывод из пхп в xml в таком виде:
$xml_output .= "<form>";
$xml_output .= "<tema>" . $row['name'] . "</tema>";
$xml_output .= "<post>" . $row['lastname'] . "</post>";
$xml_output .= "</form>";
т.е. получается:
<form>
<tema>sdfsd</tema>
<post>sdfsdfsdfs sdfsdfs</post>
</form>

yorlin
24.09.2009, 19:31
$xml_output .= "<form>";
$xml_output .= "<tema post='".$row['lastname']."'>" . $row['name'] . "</tema>";
$xml_output .= "</form>";

buket
24.09.2009, 19:50
я так пробовал выводит:

<forum>
<tema post="sdfsdfsdfs sdfsdfs"/>
</forum>

yorlin
24.09.2009, 20:04
Это где так выводит?
С такой структурой:

$xml_output .= "<form>";
$xml_output .= "<tema post='".$row['lastname']."'>" . $row['name'] . "</tema>";
$xml_output .= "</form>";

Должно все отлично работать, порядок кавычек может был неправильный?

buket
24.09.2009, 20:22
скопирова как написа ты, выдает в firefox такую структуру
прошу прощения был видимо гон, сейчас нормально, спасибо


есть еще такая ситуация вывод xml в php идет таким образом:
$xml_output = "<?xml version =\"1.0\"?>n";
$xml_output = "<shouts>";

for ($x = 0; $x < mysql_num_rows($resultID); $x++){
$row = mysql_fetch_assoc($resultID);
$xml_output .= "<form>";
$xml_output .= "<tema post='".$row['post_text']."'>" . $row['topik_title'] . "</tema>";
$xml_output .= "</form>";
}
$xml_output.= "</shouts>";

echo $xml_output;
т.е. получается xml вида:
<shouts>
<form>
<tema post="post 1 tema 1">tema1</tema>
</form>
<form>
<tema post="post2 tema 1">tema1</tema>
</form>
<form>
<tema post="post1 tema2">tema2</tema>
</form>
</shouts>
при выводе в датагрид tema он повторяет темы, т.е. идут строки tema1, tema1, tema2. Как сделать так чтобы в дата грид выводились только tema1, tema2 и т.д. а при нажатии на тему высвечивались в list соответветствующие tema post(их несколько для каждой tema)? надеюсь поняли о чем идет речь:rolleyes:

Добавлено через 41 час 30 минут
неужели никто не поможет?:(