На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА
Прежде чем задать вопрос, зайдите в раздел FAQ, возможно там уже есть ответ на него.
Если вы хотите вставить код в сообщение, то пожалуйста выделяйте его тегом [code=dfp] ... [/сode].
Для этого используйте кнопку [code=dfp] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Delphi for PHP.
Модераторы: ViktorXP, vicis
  
> Проблема DBGrida и Smarty
    Проблема DBGrida и Smarty При использовании DBGrida в эксплоере страница отображается криво.
    1 Исчезает скрол.
    2 Цвет бекграунда шаблона меняется
    На забугорном сайте видел решение в виде вставить в шаблон <body style="overflow:scroll">
    Скрол появляется однако бекграунд остается испорченым и DBGrid начинает ползать по странице вместе со скролом.

    Эта тема была разделена из темы "Delphi for PHP"
      Цитата Ahil @
      Проблема DBGrida и Smarty При использовании DBGrida в эксплоере страница отображается криво.

      Основная проблема при использовании DBGrid исчезает скролл. Если его насильно прописать
      <body style="overflow:auto"> то при скроллинге DBGrid остается на месте (летает) а остальное содержимое страници движется. Я думал что эта проблема только при использовании смарти ан нет. И без шаблона все тоже самое.
      При использовании шлаблона еще добавляется измение фона (бекграунд) страници на серый.
      Ктонибудь это замечал?

      Добавлено
      Цитата Ahil @
      Проблема DBGrida

      В stdctrls.inc.php нашел
      ExpandedWrap disabled
        //Creates the div
                                echo "<div id=\"$this->Name\"></div>\n"
                                   . "<script type=\"text/javascript\">\n"
         //                          . " function ".$this->Name."_qinit() {\n"
                                   . "  var d = qx.ui.core.ClientDocument.getInstance();\n"
                                   . "  var inline_div = new qx.ui.basic.Inline(\"$this->Name\");\n"
                                   . "  inline_div.setHeight(\"auto\");\n"
                                   . "  inline_div.setWidth(\"auto\");\n\n";
                                   //. "  d.setOverflow(\"scrollY\");\n"
                                   //. "  d.setBackgroundColor(null);\n"

      Для чегото строчки закоментированы? непонятно но очень последние две строчки похожи на проблемы с гридом. Только разобраться никак ниполучается.

      Последние две строчки вс тречаются в forms.inc.php и dbgrids.inc.php
      Сообщение отредактировано: Ahil -
        Цитата Ahil @
        Для чегото строчки закоментированы? непонятно но очень последние две строчки похожи на проблемы с гридом. Только разобраться никак ниполучается.


        у меня была задача раздвигать DBGrid в ширину автоматически
        т.е. он стоит на форме на панели, панель фикисрованой ширины.
        Если все поля не влазят для быстрого просмотра нужно дать возможность раздвинуть грид, а потом вернуть обратно
        Таких форм несколько.
        Для этого сделал кнопку- переключатель- раздвинуть грид в ширину автоматически и вернуть обратно.

        ExpandedWrap disabled
          function SetWidthDBGrid1(xwidth)
          // изменить ширину грида
            {
                         if (DBGrid1.getWidth()=='auto')
                           {
                           DBGrid1.setWidth(xwidth);
                           }
                           else
                           {
                           DBGrid1.setWidth("auto");
                           }
            }
           
           
          function BitBtn1JSClick($sender, $params)
            {
           
                         ?>
                         SetWidthDBGrid1(591);
           
                         <?php
           
            }


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

        по приведённому тобой коду видно, что ширина устанавливается в "auto", естественно при этом scroll не нужен
        попробуй запустить проект и кнопкой убрать "auto"

        Добавлено
        я бы ещё DBGrid на панель поставил
        её можно позиционировать
          Цитата vicis @
          по приведённому тобой коду видно, что ширина устанавливается в "auto", естественно при этом scroll не нужен
          попробуй запустить проект и кнопкой убрать "auto"

          Скрол исчезает у html страници, а не у DBGrid/

          В forms.inc.php если раскоментировать //. " d.setOverflow(\"scrollY\");\n" то скрол бар при использовании DBGrid появляется, но DBGrid начинает премещаться по странице.
          Сообщение отредактировано: Ahil -
            Цитата Ahil @
            Скрол исчезает у html страници, а не у DBGrid/


            function Unit1JSLoad($sender, $params)
            {

            ?>
            //Add your javascript code here
            d.setOverflow("scroll");
            <?php

            }

            работает
            хотя всё же раком 8-)

            здесь нашёл
            http://forums.delphi-php.net/showthread.php?t=1851&highlight=scroll
              Меня просто взбесило. Открываю проект на сервере http://ahil79.jino-net.ru/main.php и там никаких проблем со скролом и dbgrid. Правда на сервере я использовал старую VCL и неиспользовал Smarty. Локально же проблема есть. отличие - локально использую новую VCL. Сейчас попробую поэкспериментировать и выяснить вчем причина. >:( :wall:

              Добавлено
              В общим дело в новой vcl со старой все работало. Какая версия у старой была непомню
                Все нетак просто. поспешил я с выводами.
                  Цитата vicis @
                  function Unit1JSLoad($sender, $params)
                  {

                  ?>
                  //Add your javascript code here
                  d.setOverflow("scroll");
                  <?php

                  }

                  Спасибо! Помогло.
                  правда шаблоны всеровно прикручивать пришлось особым способом. Создаю в дримвьювере страницу отрезаю у нее все до <body> включительно. помечаю в странице места куда буду вставлять форму (или элемент интерфейса). затем по этим отметкам режу код шадлона на куски. в последний кусок добавляю закрытие тега form. затем в форме delphi4php в события связанные с выводом формы делаю вставки кусочков шаблона
                  ExpandedWrap disabled
                    function AdminAfterShow($sender, $params)
                                   {
                                   require ("footer.inc");
                                  
                     
                                   }
                     
                                   function AdminStartBody($sender, $params)
                                   {
                                   require ("header.inc") ;
                     
                     
                                   }
                  .
                  у формы свойство showfooter выставляю false.
                  К форме добавляю стиль который будет использоваться .css
                  Возможно чтото подобное можно делать и с использованием smarty? я пока неразобрался
                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0560 ]   [ 16 queries used ]   [ Generated: 25.04.24, 11:11 GMT ]