Frage

Basics

Hallo zusammen, habe ich die tableToGrid Methode sieht (von Peter Romianowski), definiert als tableToGrid(selector, options) auf dem jqGrid Wiki, aber nicht finden kann, überall, die Dokumentation der options hat

Wer weiß, über diese oder wo sie zu finden? EDIT: Dank Oleg beschlossen,

Mehr

Was Im Versuch, tatsächlich zu tun, um die resultierende jqGrid in einem form wird umhüllen, die die checkbox Werte vorlegen, die in einer Spalte der Tabelle sind. Mein Problem ist, dass die tableToGrid Methode scheint die name Eigenschaft von den checkbox Elementen zu entfernen und daher sind sie nicht mit dem Formular Post eingereicht werden.

War es hilfreich?

Lösung 2

RESOLVED

Die jqGrid tableToGrid Methode wird den Wert des Kontrollkästchen in der ursprünglichen Tabelle finden und automatisch die multiSelect: true Option auf dem resultierenden jqGrid zu implementieren, intrinsisches Kontrollkästchen zeigt. Um eine Liste der ausgewählten Zeilen-IDs zu erhalten, rufen Sie einfach

$('#grid').getGridParam('selarrrow')

Andere Tipps

Wie Sie auf http: //www.trirand. ? com / jqgridwiki / doku.php id = wiki: table_to_jqgrid Methode der Optionen Parameter von tableToGrid ist nichts anderes als die Optionen der jqGrid, die Sie erstellen (siehe http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options )

Wenn ich Ihr Hauptproblem carrect undesnand, Sie haben einige Daten vom Server empfangen als eine Antwort auf das Formular. Und Sie wollen diese Daten in einem Raster platzieren. Um dies können Sie direkteren Weg verwenden bei der Verwendung von datatype: 'local' von jqGrid. Hier ein Beispiel:

var grid = jQuery('#list').jqGrid({
    caption: 'Testclusters',
    height: 'auto',
    gridview: true,
    rownumbers: true,
    sortable: true,
    datatype: 'local',
    viewrecords: true,
    pager: '#pager',
    pgbuttons: false,
    pginput: false,
    rownumbers: true,
    colNames: ['Name', 'Testtiefe', 'Std', 'FachlicheTests', 'RowVersion'],
    colModel: [
        { name: 'Name', index: 'Name', width: 120 },
        { name: 'TesttiefeName', width: 180 },
        { name: 'Std', width: 21, formatter: 'checkbox', align: 'center' },
        { name: 'IsFachlicheTests', width: 21, formatter: 'checkbox', align: 'center' },
        { name: 'RowVersion', width: 50, hidden: true }
                ]
}).navGrid('#pager', { edit: false, add: false, del: false, refresh: true, view: false, search: false })
  .navButtonAdd('#pager', { caption: "", buttonicon: "ui-icon-calculator", title: "choose columns",
      onClickButton: function() {
          jQuery('#list').jqGrid('columnChooser');
      }
});
grid.jqGrid('gridResize');
var myData = [
    { Name: "VIA XP", TesttiefeName: "Alle SW-Produkte", Std:true, IsFachlicheTests:false, RowVersion: "20FC31" },
    { Name: "KUBUS", TesttiefeName: "Alle SW-Produkte", Std:false, IsFachlicheTests:true, RowVersion: "20FC32" }
];

for (var i = 0; i <= myData.length; i++) {
    grid.addRowData(i + 1, myData[i]);
}

Zu allererst erstellen Sie eine leere jqGrid und es dann mit Bezug auf addRowData Methode füllen.

Außerdem, wenn Sie viele Kontrollkästchen innerhalb von jqGrid haben, kann es interessant sein, dass Sie bei meinem Beispiel sehen von Vertical Text in Tabellenüberschriften ein JavaScript-basierte SVG Bibliothek und sehen Sie die Ergebnisse auf http://www.ok-soft-gmbh.com/VerticalHeaders/TestFixedO1.htm .

Ändern Spaltenbreite für eine beliebige Anzahl von Spalten

In diesem Fall nach dem jqGrid immer bauen Sie gerade an den Tisch gehen können erzeugt immer und von Hand alle der Spaltenbreiten von Spaltenkopf ändern und die entsprechenden Daten ohne etwas langweiligen Code aufrichtenden.

        var tabColWidths ='70px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px';

function reDefineColWidth(){
        var widthsArr = tabColWidths.split('|');

    for(var j=0; j < widthsArr.length ; j++ ){
            $('.ui-jqgrid-labels > th:eq('+j+')').css('width',widthsArr[j]);
            $('#grid tr').find('td:eq('+j+')').each(function(){$(this).css('width',widthsArr[j]);})
        }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top