Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.117.70.132] |
|
Сообщ.
#1
,
|
|
|
Пробую освойть "Delphi for PHP версия 2".
Переписываю программу с Delphi 7. Только учусь. Подскажите разницу и особенности Events и Javascript Events Ниписал отклик событи для Button в Events. В нем вызов метода $this->FillTreeView_1(); Работает. Попробовал реализовать с помощью ButtonView, вот тут знаний и не хватает. В нем Events нет, только Javascript Events <?php require_once("vcl/vcl.inc.php"); //Включаем модули require_once("dm.php"); use_unit("ext/ext.inc.php"); use_unit("menus.inc.php"); use_unit("comctrls.inc.php"); use_unit("imglist.inc.php"); use_unit("forms.inc.php"); use_unit("extctrls.inc.php"); use_unit("stdctrls.inc.php"); //Определяем класс class shop_ns extends Page { public $ExtMsg = null; public $il_shop = null; public $ButtonView1 = null; public $ExtGrid1 = null; public $Label2 = null; public $Button1 = null; public $TreeView1 = null; public $Label1 = null; function ButtonView1JSClick($sender, $params) { ?> //Добавьте ваш javascript код здесь tag=event.getTarget().tag; alert("Button Tag ID:" + tag + " clicked"); //document.getElementById("Label2").Caption = "tag ok"; if (tag == 2) { //alert("run"); //Button1Click(sender, params); FillTreeView_1(); } <?php } function Button1Click($sender, $params) { $this->FillTreeView_1(); } function FillTreeView_1() { global $dm; //ArrField: array[-1..1] of string = ('b', 'ORG_ID', 'MODEL_ID'); $arr_field[0] = "ORG_ID"; $arr_field[1] = "MODEL_ID"; $dm->qry_tv_model->close(); $dm->qry_tv_model->Active = True; $dm->qry_tv_model->first(); $this->TreeView1->Items = ''; //settype($p, "TreeNode"); while (!$dm->qry_tv_model->EOF) { for ($k = 0; $k <= 1; $k++) { $p = $this->TreeView1->findNodeWithItemID($dm->qry_tv_model->fieldget($arr_field[$k])); if ($p == null) { if ($k == 0) { $p = $this->TreeView1->addNodeToItems($dm->qry_tv_model->fieldget($arr_field[$k]."1")); $p->ItemID = $dm->qry_tv_model->fieldget($arr_field[$k]); } else { $p = $this->TreeView1->findNodeWithItemID($dm->qry_tv_model->fieldget($arr_field[$k-1])); if ($p != null) { $p = $p->addChild($dm->qry_tv_model->fieldget($arr_field[$k]."1")); $p->ItemID = $dm->qry_tv_model->fieldget($arr_field[$k]); } } } } $dm->qry_tv_model->next(); } } } global $application; global $shop_ns; //Создаем форму $shop_ns=new shop_ns($application); //Загрузка из файла ресурсов $shop_ns->loadResource(__FILE__); //Показываем форму $shop_ns->show(); ?> Как можно решить проблему? |
Сообщ.
#2
,
|
|
|
Цитата nstur @ Подскажите разницу и особенности Events и Javascript Events Events - это события которые срабатывают на сервере (для их выполнение за частую перегружается вся страничка) Javascript - это то что срабатывает на клиенте Добавлено Цитата nstur @ Попробовал реализовать с помощью ButtonView, вот тут знаний и не хватает. В нем Events нет, только Javascript Events а с какой целью вы решили использовать ButtonView? |
Сообщ.
#3
,
|
|
|
Цель проста - дизайн понравился.
Может, что-то ни так? Посоветуйте ссылочку, чтобы с темой ознакомится... Есть еще вопрос: В реализациях методов есть $sender, $params Что они из себя представляют? Где то видел реализацию $params, внутри метода, использовался для передачи значений из блока Javascript в PHP. Если это так, поясните и предложите примерчик, как это выглядит в коде... |
Сообщ.
#4
,
|
|
|
одна из технологий это использования ajax
зайди в папку simples. там есть несколько примеров как использовать в своих проектах эту технологию Добавлено $sender - если судить по названию то наверное сам объект (хотя я его еще ни разу не использовал. нужно как то будет потеснить на досуге) $params - это параметры которые передаются в функцию. если ты запускаешь проект из под отладки то ты можешь увидеть какие значения лежат там и сделать соответствующие выводы |