मैं एक केंडो ग्रिड के समूह शीर्षलेख में एक चेकबॉक्स जोड़ने की कोशिश कर रहा हूं। इस चेकबॉक्स को किसी फ़ंक्शन के लिए बाध्य चेक किया गया मान और फ़ंक्शन के लिए बाध्य एक क्लिक ईवेंट की आवश्यकता होती है। हालांकि जब मैं बॉक्स पर क्लिक करता हूं, तो यह क्लिक ईवेंट को आग लगाने की कोशिश भी नहीं करता है। वर्तमान में मेरे पास जो कोड है वह यह है

ग्रिड समूह हैडर टेम्पलेट

<script type="text/x-kendo-template" id="group-header-email-checkbox-template">
    <input type="checkbox" class="chkdbox emailCheckBox" data-bind="checked: emailSelected("#:value#"), events: {click: onEmailCheck}" />&nbsp;&nbsp;#:value#
</script>

जे एस

    checkEmail:function(e) {
        var me = this;
        console.log(e);
    },
    emailSelected:function(val) {
        var me = this;
        var email = _.find(me.selectedEmails,
            function(e) { return e.name === val }
        );
        return email;
    }

इसका उपयोग ईमेल भेजने के लिए कंपनियों की सूची बनाने के लिए किया जा रहा है, जहां कंपनी की जानकारी पर ग्रिड को समूहीकृत किया जाता है।

0
Andrew 22 नवम्बर 2017, 20:34

2 जवाब

सबसे बढ़िया उत्तर

मैंने jQuery के माध्यम से क्लिक ईवेंट जोड़ना समाप्त कर दिया।

$(".emailCheckBox").on("change", function(e) {
    me.checkEmail(e);
});

इस टेम्पलेट के साथ।

<script type="text/x-kendo-template" id="group-header-email-checkbox-template">
    <input type="checkbox" class="chkdbox emailCheckBox" data-company="#:value#" />&nbsp;&nbsp;#:value#
</script>

हालाँकि इसने मुझे अभी भी पेजिंग करते समय एक समस्या दी, लेकिन वे किसी भी तरह से कायम नहीं रहे, मैंने दृढ़ता की समस्या को इस तरह हल किया -

setHeaderChecks:function() {
    var me = this;
    $(".agingEmailCheckBox").each(function() {
                var value = $(this).data("company");
                var checked = _.find(me.selectedCompanies, function(e) { return e.company === value });
                if (checked) {
                    $(this).prop("checked", true);
                }
        });
    },
0
Andrew 29 नवम्बर 2017, 02:35

डिफ़ॉल्ट रूप से, ग्रिड के शीर्ष लेख और पाद लेख ViewModel के लिए बाध्य नहीं हैं। ग्रिड शुरू होने के बाद एक उपयुक्त jQuery चयनकर्ता के साथ शीर्षलेख ढूंढना एक कामकाज है और फिर इसे मैन्युअल रूप से बांधें। तो कुछ इस तरह:

kendo.bind($("body"), viewModel);  //Instantiate the grid
kendo.bind($("#grid").find(".k-grid thead"), viewModel); //Find and bind the header

अधिक जानकारी के लिए यहां देखें: https://www.telerik.com/forums/tooltip-mvvm-control-inside-grid-column-headertemplate-is-not-working

और यहां एक बहुत ही समान उत्तर के लिए मैंने ग्रिड पाद लेख को बाध्य करने के बारे में लिखा था: >

0
NigelK 23 नवम्बर 2017, 00:26