jqgrid tabletogrid معلمة "خيارات"
سؤال
الأساسيات
مرحبًا بالجميع ، لقد رأيت طريقة 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]);})
}
}