Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.145.60.149] |
|
Сообщ.
#1
,
|
|
|
Проблема DBGrida и Smarty При использовании DBGrida в эксплоере страница отображается криво.
1 Исчезает скрол. 2 Цвет бекграунда шаблона меняется На забугорном сайте видел решение в виде вставить в шаблон <body style="overflow:scroll"> Скрол появляется однако бекграунд остается испорченым и DBGrid начинает ползать по странице вместе со скролом. Эта тема была разделена из темы "Delphi for PHP" |
Сообщ.
#2
,
|
|
|
Цитата Ahil @ Проблема DBGrida и Smarty При использовании DBGrida в эксплоере страница отображается криво. Основная проблема при использовании DBGrid исчезает скролл. Если его насильно прописать <body style="overflow:auto"> то при скроллинге DBGrid остается на месте (летает) а остальное содержимое страници движется. Я думал что эта проблема только при использовании смарти ан нет. И без шаблона все тоже самое. При использовании шлаблона еще добавляется измение фона (бекграунд) страници на серый. Ктонибудь это замечал? Добавлено Цитата Ahil @ Проблема DBGrida В stdctrls.inc.php нашел //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 |
Сообщ.
#3
,
|
|
|
Цитата Ahil @ Для чегото строчки закоментированы? непонятно но очень последние две строчки похожи на проблемы с гридом. Только разобраться никак ниполучается. у меня была задача раздвигать DBGrid в ширину автоматически т.е. он стоит на форме на панели, панель фикисрованой ширины. Если все поля не влазят для быстрого просмотра нужно дать возможность раздвинуть грид, а потом вернуть обратно Таких форм несколько. Для этого сделал кнопку- переключатель- раздвинуть грид в ширину автоматически и вернуть обратно. 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 на панель поставил её можно позиционировать |
Сообщ.
#4
,
|
|
|
Цитата vicis @ по приведённому тобой коду видно, что ширина устанавливается в "auto", естественно при этом scroll не нужен попробуй запустить проект и кнопкой убрать "auto" Скрол исчезает у html страници, а не у DBGrid/ В forms.inc.php если раскоментировать //. " d.setOverflow(\"scrollY\");\n" то скрол бар при использовании DBGrid появляется, но DBGrid начинает премещаться по странице. |
Сообщ.
#5
,
|
|
|
Цитата Ahil @ Скрол исчезает у html страници, а не у DBGrid/ function Unit1JSLoad($sender, $params) { ?> //Add your javascript code here d.setOverflow("scroll"); <?php } работает хотя всё же раком здесь нашёл http://forums.delphi-php.net/showthread.php?t=1851&highlight=scroll |
Сообщ.
#6
,
|
|
|
Меня просто взбесило. Открываю проект на сервере http://ahil79.jino-net.ru/main.php и там никаких проблем со скролом и dbgrid. Правда на сервере я использовал старую VCL и неиспользовал Smarty. Локально же проблема есть. отличие - локально использую новую VCL. Сейчас попробую поэкспериментировать и выяснить вчем причина.
Добавлено В общим дело в новой vcl со старой все работало. Какая версия у старой была непомню |
Сообщ.
#7
,
|
|
|
Все нетак просто. поспешил я с выводами.
|
Сообщ.
#8
,
|
|
|
Цитата vicis @ function Unit1JSLoad($sender, $params) { ?> //Add your javascript code here d.setOverflow("scroll"); <?php } Спасибо! Помогло. правда шаблоны всеровно прикручивать пришлось особым способом. Создаю в дримвьювере страницу отрезаю у нее все до <body> включительно. помечаю в странице места куда буду вставлять форму (или элемент интерфейса). затем по этим отметкам режу код шадлона на куски. в последний кусок добавляю закрытие тега form. затем в форме delphi4php в события связанные с выводом формы делаю вставки кусочков шаблона function AdminAfterShow($sender, $params) { require ("footer.inc"); } function AdminStartBody($sender, $params) { require ("header.inc") ; } у формы свойство showfooter выставляю false. К форме добавляю стиль который будет использоваться .css Возможно чтото подобное можно делать и с использованием smarty? я пока неразобрался |