knockout.js बाइंडिंग के साथ टेबल currenlty दिखता है:
स्रोत कुल प्रभाग 00234 4506 div1 30222 456 div2 63321 23 div2 40941 189 div1
वांछित आउटपुट नीचे जैसा कुछ होगा डेटा को विभाजन
द्वारा समूहित करने की आवश्यकता है।
स्रोत कुल div1 00234 4506 40941 189 div2 30222 456 63321 23
यह मेरा है देखेंमोडेल:
<प्री> var रिपोर्टिंगवियमोडेल; ReportingViewModel = {परिणाम: ko.observableArray (null)}
ReportingViewModel
एक एजेक्स अनुरोध के जरिए आबादी हो जाती है:
रिपोर्टिंग व्यू मॉडल .Results (डेटा [ "डेटा"] [ "रिपोर्ट"]); Q: मैं वांछित आउटपुट कैसे प्राप्त कर सकता हूं? संपादित करें:
यहां मेरा दृश्य है : & lt; तालिका वर्ग = "तालिका तालिका-संघनित" id = "रिपोर्ट डेटा" & gt; & LT; thead & gt; & LT; टीआर & gt; & LT; वें & gt; स्रोत & lt; / वें & gt; & LT; वें & gt; कुल & lt; / वें & gt; & LT; वें & gt; विभाजन & lt; / वें & gt; & Lt; / टीआर & gt; & Lt; / thead & gt; & Lt; tbody डेटा-बाइंड = "foreach: परिणाम" & gt; & LT; टीआर & gt; & Lt; td डेटा-बाइंड = "टेक्स्ट: स्रोत" & gt; & lt; / td & gt; & Lt; td डेटा-बाइंड = "टेक्स्ट: कुल" & gt; & lt; / td & gt; & Lt; td डेटा-बाइंड = "टेक्स्ट: विभाजन" & gt; & lt; / td & gt; & Lt; / टीआर & gt; & Lt; / tbody & gt; & Lt; / तालिका & gt; & Lt; स्क्रिप्ट प्रकार = "टेक्स्ट / जावास्क्रिप्ट" & gt; $ (दस्तावेज़) .ready (function () {reportingingViewModel.Results (null); e.preventDefault (); var number = null; if ($ ('# numberdd')। ("विकल्प: चयनित")। ;) {Number = $ ('# numberdd')। ("विकल्प: चयनित");} यदि (संख्या! = नल) {$ .ajax ({url: '/ रिपोर्टिंग / रिपोर्टडेटा.एस्पक्स', टाइप करें: 'पोस्ट', डेटा: नंबर, डेटा प्रकार: 'जेसन', कंटेंट टाइप: "एप्लिकेशन / जेसन", सफलता: फ़ंक्शन (डेटा) {रिपोर्टिंग व्यू मॉडल। परिणाम (डेटा ["डेटा"] ["रिपोर्ट"]);}, त्रुटि: फ़ंक्शन () {चेतावनी ('त्रुटि रनिंग रिपोर्ट');}});} और {चेतावनी ('डेटा नहीं है!');}}); Var रिपोर्टिंगव्यूमोडेल; रिपोर्टिंग व्यूमोडेल = {परिणाम: को.सॉर्सवेबलअरे (नल),} को.एपलीबिंन्डिंग्स (रिपोर्टिंग व्यूमोडेल); }); & Lt; / स्क्रिप्ट & gt; नॉकआउट 2.0 में डेटा समूहबद्ध करने के लिए यह आपके लिए काम करना चाहिए पर एक उचित बेला है।
सबसे महत्वपूर्ण बात, आपको अपने डेटा को रूपांतरित करना चाहिए ताकि आपके पास विभाजन के माध्यम से लूप के रूप में एक तत्व हो और प्रत्येक डिवीज़न में एक गणित बच्चे हो जो मेल खाते को वापस देता है। वह इस का प्रबंधन करने के लिए अवलोकन संपत्ति पर स्वयं का विस्तार करने के लिए होता है ...
को.ओब्सर्वबलअरेरे.फं। डार्स्टिक्ट = फ़ंक्शन (प्रोप) {var target = this; Target.index = {}; Target.index [prop] = ko.observable ({}); Ko.computed (function () {// rebuild index var propIndex = {}; ko.utils.arrayForEach (लक्ष्य), फ़ंक्शन (आइटम) {var key = ko.utils.unwrapObservable (item [prop]); यदि ( कुंजी) {प्रोइंडेक्स [कुंजी] = प्रोइंडेक्स [कुंजी] || []; प्रोइंडएक्स [कुंजी] .पश (आइटम);}}); लक्ष्य.आंडक्स [प्रोप] (प्रोइंडएक्स);}); वापसी लक्ष्य; };
फिर अपने मार्कअप में आपके डिवीज़न के माध्यम से डेटा-बाइंड लूप तक।
No comments:
Post a Comment