На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА
Прежде чем задать вопрос, зайдите в раздел FAQ, возможно там уже есть ответ на него.
Если вы хотите вставить код в сообщение, то пожалуйста выделяйте его тегом [code=dfp] ... [/сode].
Для этого используйте кнопку [code=dfp] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Delphi for PHP.
Модераторы: ViktorXP, vicis
  
> Задать заголовок столбца DBGrid в рантайме , Задать заголовок столбца DBGrid в рантайме
    Подскажите пожалуйста как присвоить заголовок какому либо столбцу в DBGrid во время работы приложения
      1. если колонки не настраивались в редакторе колонок, то можно просто изменить SQL запрос
      ExpandedWrap disabled
        select gr_id as 'Идентификатор грабли',gr_BossName as 'Хозяин граблей' from bazagrabley


      2. вариант доступа через php (если колонки настроены через редактор колонок)
      здесь для 0-й колонки
      ExpandedWrap disabled
               function Button1Click($sender, $params)
               {
               $xcolumn = $this->dbgrid1->Columns;
               $ycolumn = $xcolumn['0'];  // получаем массив параметров только нулевой колонки
               $this->Button1->Caption = $ycolumn['Caption'];  // вытащили название колонки
               $ycolumn['Caption'] = '123'; // присваиваем через промежуточный массив
               $xcolumn['0'] = $ycolumn;
               $this->dbgrid1->Columns = $xcolumn;
               }


      чуть короче так
      ExpandedWrap disabled
               function Button2Click($sender, $params)
               {
               $this->Button2->Caption = $this->dbgrid1->Columns['0']['Caption'];
               //$this->dbgrid1->Columns['0']['Caption'] = '123';  // это не работает
               $xcolumn = $this->dbgrid1->Columns;
               $xcolumn['0']['Caption'] = '123';
               $this->dbgrid1->Columns =$xcolumn;
               }


      Добавлено
      3. С помощью JavaScript
      ExpandedWrap disabled
               function Button4JSClick($sender, $params)
               {
         
               ?>
               //Add your javascript code here
                       dbgrid1.getTableModel().setColumns(["Сало","долго не лежало"]);
               <?php
         
               }


      Добавлено
      Кстати,
      если нужно к данным из базы ещё какие то строки данныех в грид запихнуть (типа виртуальные данные)
      то делаем так:
      ExpandedWrap disabled
               function Button3JSClick($sender, $params)
               {
         
               ?>
               //Add your javascript code here
                       var rowData = [];
                       rowData = dbgrid1.getTableModel().getData();
                       rowData.push(['Всего', '222','штуки']);
                       dbgrid1.getTableModel().setData(rowData);
               <?php
         
               }
        А где почитать можно про сам Dbgrid ? Как получить информацию из ячейки я нашел, а как вставить данные в ячейку не пойму никак
          в разделе FAQ смотрел ?
          там точно есть
            Ла, спасибо нашел, скачал еще старую версию там примеры вытащил, правда мало там информации )
            Кстати кто то может объяснить почему окно теряет полосу прокрутки если на форму бросить Дбгрид ? Груп бокс и тд ?
              Цитата ssaich @
              Кстати кто то может объяснить почему окно теряет полосу прокрутки если на форму бросить Дбгрид ? Груп бокс и тд ?

              Прокрутка страницы вниз (сообщение #3091703)
                Пробую сменить цвет
                ExpandedWrap disabled
                  DBGrid1.getTableColumnModel().setColumnFontColor(3,"#330099");


                и не работает ( ан пхп знаю как , но нужно на яве, подскажите плз )
                  ExpandedWrap disabled
                    var renderer=new qx.ui.table.EasyDataCellRenderer();
                        renderer.color="#CC3300";
                     renderer.fontcolor ="#CC3300";
                                    renderer.alignment="left";
                     DBGrid1.getTableColumnModel().setDataCellRenderer(0,renderer);



                  Цвет меняет, но перерисовывает его к примеру тогда когда сдвинуть колумн (обновить)
                  ExpandedWrap disabled
                    DBGrid1.getTableColumnModel().setColumnWidth(0,150)


                  Более элегантное решение рефреша не могу найти пока (
                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0391 ]   [ 15 queries used ]   [ Generated: 16.04.24, 21:38 GMT ]