سؤال

الأساسيات

مرحبًا بالجميع ، لقد رأيت طريقة tabletogrid (بقلم بيتر روميانوفسكي) المعرّفة باسم tableToGrid(selector, options) على wiki jqgrid ، ولكن لا يمكن العثور على أي مكان لديه وثائق options

لا أحد يعرف عن هذه أو أين يجدها؟ تحرير: شكرا أوليغ ، حل!

أكثر

ما أحاول فعله فعليًا هو تثبيت JQGrid الناتج في أ form, ، والتي ستقدم checkbox القيم الموجودة في عمود الجدول. مشكلتي هي أن tableToGrid يبدو أن الطريقة تزيل name خاصية من checkbox العناصر وبالتالي لا يتم تقديمها مع النموذج المنشور.

هل كانت مفيدة؟

المحلول 2

تم الحل

ستجد طريقة JQGrid TableTogrid قيمة مربعات الاختيار في الجدول الأصلي وتنفيذ تلقائيًا multiSelect: true الخيار على JQGrid الناتج ، مما يدل على مربعات الاختيار الجوهرية. للحصول على قائمة بمعرفات الصفوف المحددة ، ما عليك سوى الاتصال

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

نصائح أخرى

مثل يمكنك القراءة على http://www.trirand.com/jqgridwiki/doku.php؟id=wiki:table_to_jqgrid معلمة الخيارات من tableToGrid الطريقة ليست أكثر مثل خيارات JQGrid التي تنشئها (انظر http://www.trirand.com/jqgridwiki/doku.php؟id=wiki:Options).

إذا قمت بإلغاء توزيع مشكلتك الرئيسية ، لديك بعض البيانات المستلمة من الخادم كإجابة في إرسال النموذج. وتريد وضع هذه البيانات في شبكة. لجعل هذا يمكنك استخدام طريقة أكثر مباشرة مع الاستخدام datatype: 'local' من jqgrid. هنا مثال:

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]);
}

بادئ ذي بدء ، تقوم بإنشاء JQGrid فارغ ثم تملأه باحترام addRowData طريقة.

علاوة على ذلك ، إذا كان لديك العديد من مربعات الاختيار داخل JQGrid ، فقد يكون من المثير للاهتمام أن تنظر إلى مثالي من النص العمودي داخل رؤوس الجدول باستخدام مكتبة SVG المستندة إلى JavaScript وشاهد النتائج على http://www.ok-soft-mbh.com/verticalheaders/testfixedo1.htm.

تغيير عرض العمود لأي عدد من الأعمدة

في هذه الحالة بعد إنشاء JQGrid ، يمكنك فقط الانتقال إلى الجدول الذي يتم إنشاؤه وتغيير جميع عرض الأعمدة لرأس العمود والبيانات المعنية دون تصحيح بعض التعليمات البرمجية الشاقة.

        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]);})
        }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top