2014-08-28 10 views
7

तक पहुंच प्राप्त नहीं करता है, मैं कॉलम हेडर को कस्टमाइज़ करने के लिए Kendo UI Grid की columns.headerTemplate सुविधा का उपयोग करने का प्रयास कर रहा हूं। आप इस सुविधा का उपयोग नीचे दिखाए गए अनुसार और this example I created द्वारा दिखाए गए अनुसार करते हैं। आम तौर पर Kendo UI templates का उपयोग करते समय, विजेट इकाई को टेम्पलेट फ़ंक्शन में पास कर देगा ताकि आप HTML को कस्टमाइज़ करने के लिए विभिन्न गुणों का उपयोग कर सकें।केंडो यूआई ग्रिड कॉलम हेडर टेम्पलेट फ़ंक्शन कॉलम परिभाषा

केंडो यूआई ग्रिड कोड मैं देख सकता हूँ कि _headerCellText विधि टेम्पलेट समारोह के लिए कॉल स्तंभ भले ही स्तंभ वस्तु दायरे में है के बजाय एक खाली वस्तु में गुजरता में डिबगिंग।

text = kendo.template(template, settings)({});

एक और दृष्टिकोण मैं प्रत्येक स्तंभ या बुरा के लिए कस्टम स्तंभ शीर्ष लेख टेम्पलेट्स का सहारा से पहले ले जा सकते हैं है - विजेट गाया डोम के jQuery हेरफेर?

क्या इस उपयोग के मामले में ढांचे में सामान्य टेम्पलेट पैटर्न से विचलन करने का कोई अच्छा कारण है?

// Example kendoGrid use of column.headerTemplate 
var templateFunction = function(shouldBeColumn) { 
    // shouldBeColumn is an empty object rather than the column object 
    return "Useless object:" + kendo.stringify(shouldBeColumn); 
    }; 

$("#grid").kendoGrid({ 
    dataSource: { 
     data: products, 
     pageSize: 20 
    }, 
    height: 550, 
    scrollable: true, 
    columns: [ 
     { field: "ProductName", title: "Product Name" }, 
     { field: "UnitPrice", title: "Unit Price", headerTemplate: plainTemplate }, 
     { field: "UnitsInStock", title: "Units In Stock", headerTemplate: templateFunction } 
    ] 
}); 
+0

आप Telerik समर्थन के साथ इस जाँच कर दी:

एक आवरण समारोह एक फ़ंक्शन कि, इस प्रकार आह्वान? आपका तर्क सुसंगत प्रतीत होता है: एक खाली तर्क बहुत उपयोगी नहीं है, कॉलम ऑब्जेक्ट को बेहतर भेज रहा है। – OnaBai

+1

समान रूप से भ्रमित करने वाला यह है कि वास्तविक कोड है: 'if (type === Function) {text = kendo.template (टेम्पलेट, सेटिंग्स) ({}); 'इसलिए वे केवल' kendo.template() 'को कॉल करते हैं, अगर केवल टेम्पलेट एक फ़ंक्शन है, लेकिन 'kenod.template()' के लिए दस्तावेज़ जो केवल एक स्ट्रिंग मान्य पैरामीटर है। http://docs.telerik.com/kendo-ui/api/framework/kendo#methods-template अगर यह केंडो के ओपन-सोर्स हिस्से में था, तो मैं एक समस्या लॉग करूंगा और इसे ठीक करने के लिए पुल अनुरोध भेजूंगा, लेकिन ऐसा लगता है कि आपको वास्तविक केंडो समर्थन में कुछ उठाना चाहिए। – CodingWithSpike

+0

यह मेरी समझ से है कि जो व्यवहार आप प्राप्त कर रहे हैं वह इरादे के रूप में काम कर रहा है। वे आपको कॉलम ऑब्जेक्ट पास नहीं करना चाहते हैं। उन्होंने इसे क्यों चुना? Idk। – Brett

उत्तर

0

उत्तर: "वहाँ एक और दृष्टिकोण मैं प्रत्येक स्तंभ या बुरा के लिए कस्टम स्तंभ शीर्ष लेख टेम्पलेट्स का सहारा से पहले ले जा सकते हैं है - विजेट गाया डोम के jQuery हेरफेर?"

function createHeaderTemplate(columnName) { 
    return function() { 
     return "Custom: " + columnName; 
    }; 
} 

...

columns: [ 
    { field: 'field', headerTemplate: createHeaderTemplate('My Field') }, 
    { field: 'field2', headerTemplate: createHeaderTemplate('My 2nd Field') } 
] 
संबंधित मुद्दे