2011-01-07 2 views
0

Можно ли включить два заголовка в jqgrid. Один с colModel и один без colModel?jqgrid двойные заголовки

Также у меня есть проблема, когда, когда я нажимаю одну строку, вся сетка подсвечивается. Как я могу решить эту проблему?

CSS код:

.cssclass{ 

      background-color : #EEEEEE; 
      font-family: Verdana, Arial, Helvetica, sans-serif; 
      font-size: 11px; 
      color: #0B0B61; 
      border: 0; 
      font-weight: bold; 
      text-align: center; 
      text-indent: 2pt; 
      padding-top: 2px; 
      padding-right: 2px; 
      padding-left: 2px; 
      left: expression(parentNode.parentNode.parentNode.parentNode.parentNode.scrollLeft); 
      position:relative; 
      z-index:10; 
      cursor: default; 
    } 

код jqgrid:

 $.ajax({ 

      type: "POST", 
      url: 'cfcs/index.cfc?method=getCols', 
      data: "", 
      dataType: "json", 
      success: function(result) 
      { 

       colM = eval("([" + result.COLMODEL + "])"); 
       colN = result.COLNAMES; 


       jQuery("#list").jqGrid({ 

        url:'cfcs/index.cfc?method=getDetails', 
        datatype: 'json', 
        mtype: 'POST', 

        colNames:colN, 
        colModel :colM, 
        height: 'auto', 
        hoverrows: true, 
        width: 1260, 
        shrinkToFit: false, 
        pager: jQuery('#pager'), 
        resizable: false, 
        rowNum: 25, 
        rowList: [25, 50, 100], 
        viewrecords: true, 
        jsonReader: { 
         root: "ROWS", //our data 
         page: "PAGE", //current page 
         total: "TOTAL", //total pages 
         records:"RECORDS", //total records 
         cell: "", 
         id: "0" 
        } 
        //loadComplete: function(data){alert('loaded');}, 
        //loadError: function(xhr,status,error){alert('error');} 
       }) 
       $("#list").setLabel("col1","<br><br>col1","cssclass"); 
       $("#list").setLabel("col2","<br><br>col1","cssClass"); 

       $("#list").jqGrid('navGrid','#pager',{ 
        edit:false, 
        add:false, 
        del:false, 
        search:true, 
        refresh: true, 
        searchtext:"Search", 
        refreshtext: "Refresh", 
        'cloneToTop':true 
       }); 
      }, 
      error: function(x, e) 
      { 
       alert(x.readyState + " "+ x.status +" "+ e.msg); 
      } 


     }); 

Спасибо.

+0

ли вы имеете в виду строки 2 заголовка? Или одна строка заголовка, которая высотой 2 строки? – Zac

+0

@ Zac. Две строки заголовков. Один заголовок имеет все необходимые столбцы. Мне нужно, чтобы второй заголовок поверх первого заголовка включал диапазон дат для некоторых столбцов. – DG3

ответ

1

О вашей второй проблеме. Я полагаю, что вы используете один и тот же идентификатор для всех строк сетки. Идентификатор строки должен быть уникальным, тогда у вас не будет проблемы с описанием.

Около двух заголовков Я не совсем понимаю, что вы имеете в виду. Вы можете объяснить, что вы имеете в виду, другими словами, или опубликовать изображение.

+0

@Oleg. да, я вижу, что все строки имеют одинаковый идентификатор. Я думал, что jqgrid автоматически назначает другой идентификатор. Как я могу убедиться, что у строк есть уникальные идентификаторы? – DG3

+0

@ user508518: Это зависит от того, как yoi заполнить jqGrid данными. Если вы разместите соответствующий пример кода (просто добавьте свой вопрос), я лучше объясню все на примере. – Oleg

+0

@Oleg. Я редактировал свой вопрос с кодом. – DG3

0

Вы можете рассмотреть возможность использования отдельных сеток для каждого диапазона дат и просто форматировать их так, чтобы они были вместе.

--------------------------------------------------- 
|   1/1/2010  |   1/2/2010  | 
--------------------------------------------------- 
| grid 1 header  | grid 2 header   | 
--------------------------------------------------- 

Вы можете связать различные события для СЕТКА1 и СЕТКА2 вместе, так что выбор строки 10 в СЕТКА1 выбирает его в СЕТКА2, а также.

Вы также можете посмотреть на subgrid demos here в разделе «Дополнительно» и посмотреть, есть ли что-то, что будет работать для ваших данных.


Alternative

После прочтения над вашими комментариями, я думаю, что это может быть ближе к тому, что вы хотите, просто переодеть единицы измерения для диапазона дат. alt text

.ui-jqgrid .ui-jqgrid-htable th div 
{ 
    height: auto; 
    padding: 5px 0px; 
} 
Смежные вопросы