/ / दूरस्थ डेटा स्रोत का उपयोग करने वाले चेकबॉक्स के साथ ट्रीव्यू में चेकबॉक्स को बांधना

रिमोट डेटासॉर - केंडो-यूई, केंडो-ट्रीव्यूव का उपयोग करने वाले चेकबॉक्स के साथ वृक्षदृश्य में बाध्यकारी चेकबॉक्स

मुझे एक स्थिति यहाँ लेआउट। मेरे पास एक ऐसी स्थिति है जहां मुझे एक फॉर्म पर कई चेक बॉक्स दिखाने की ज़रूरत है जो स्वभाव से पदानुक्रमिक हैं कि उनमें से कुछ एक श्रेणी के हैं और दूसरे एक दूसरे और इसी तरह के हैं। मेरा पहला विचार चेक बॉक्स के साथ केन्डोयू ट्रीव्यू का उपयोग करना था। इसके संबंध में मेरे कई प्रश्न हैं:

  1. जाहिर है ऐसी स्थिति होगी जहां परफॉर्म लोड कुछ चेक बॉक्स की जाँच करने की आवश्यकता है क्योंकि वे डेटा स्रोत से उस तरह आ रहे हैं। जब मैं नया kendo.data को परिभाषित करता हूं। HierarchicalDataSource एक ऐसी संपत्ति है जो मुझे यह निर्दिष्ट करने देती है कि डेटा स्रोत में कौन सी संपत्ति पदानुक्रम, "पेरेंटिड" को परिभाषित करती है, और एक अन्य जो यह सूचित करती है कि किसी विशेष आइटम में कोई "चाइल्ड आइटम" है। मैं यह नहीं देख सकता कि क्या कोई संपत्ति "चेक" या ऐसा कुछ है, जो उसी तरह से डेटा स्रोत के साथ उचित बंधन की अनुमति देगा। क्या कोई मौजूद है और मैं इसे कैसे सेट करता हूं?
  2. बशर्ते कि पहले प्रश्न का उत्तर NO है, जो मैंने अभी तक किया है वह मैन्युअल रूप से अलग-अलग चेक बॉक्सों की जांच करता है जैसे कि ट्रीव्यू की डेटाबाउंड घटना।
    $(e.node).find(":checkbox[isselected="true"]").prop("checked", true);

यह क्या नोड में चेक बॉक्स के माध्यम से जाता है और जांचता है कि क्या उनके पास "isselected" नामक एक विशेषता है (जो मैं चेक बॉक्स टेम्पलेट का उपयोग करके भरता हूं) और यदि वह सेट है true फिर उस चेक बॉक्स को चेक करें। यह वैसे ही काम करता है, लेकिन समस्या तब होती है जब मैं चेक बॉक्स को सर्वर पर वापस पोस्ट करना चाहता हूं। उपरोक्त कोड के माध्यम से चयनित चेक बॉक्स ट्रीव्यू के डेटा स्रोत में परिलक्षित नहीं होते हैं। अब मुझे यह पता लगाना है कि यह कैसे करना है। यदि मैं दृष्टिकोण का उपयोग कर रहा हूं तो इसके बजाय एक और सुरुचिपूर्ण समाधान था, मैं भटक रहा था। चेक बॉक्स की जाँच करें -> हर चेक बॉक्स पर आग घटना अपने "isselected" विशेषता या ट्रीव्यू डेटा स्रोत को अपडेट करने के लिए -> पोस्टिंग मूल्यों पर सभी चेक किए गए मान प्राप्त करें।

किसी भी मदद के लिए धन्यवाद।

उत्तर:

उत्तर № 1 के लिए 4

इसके लिए एक स्मार्ट समाधान के साथ किसी का इंतजार करते हुए, मुझे इस काम को करने के लिए मुझे जो कुछ भी मिला है उसे जोड़ने दीजिए ताकि मैं उन लोगों की मदद कर सकूं जो समान समस्याओं के खिलाफ टकराते हैं।

कृपया निम्नलिखित देखें केंडूई फोरम पोस्ट और KendoUI टीम से Atanas द्वारा जवाबवह समझाता है कि डेटा स्रोत आइटम को कैसे प्राप्त करें और उचित संपत्ति के साथ वहां विशेष आइटम को चिह्नित करें। यह विशेष रूप से चेक बॉक्स पर उपयोगकर्ता के बदलाव के बाद डेटा स्रोत को मैन्युअल रूप से अपडेट करने के लिए उपयोगी था।

निम्नलिखित पर भी एक नज़र डालें केंडूई फोरम पोस्ट अपने चेक बॉक्स टेम्पलेट को ठीक से कैसे तैयार करें, इस पर स्पष्टीकरण के लिए ताकि यह ठीक से पोस्ट बैक कर सके।

इन दो युक्तियों के साथ मैं आईडी प्राप्त करने में सक्षम थाजाँच किए गए चेक बॉक्स वापस नियंत्रक पर पोस्ट किए गए। देखने के पक्ष में कुल जावास्क्रिप्ट कोड अब मॉडल परिभाषा सहित कोड की लगभग 80 पंक्तियाँ हैं। हालांकि यह बहुत ज्यादा नहीं है, यह अभी भी बहुत ज्यादा है अगर कोई होशियार तरीका है जिसे कोई सुझा सकता है।


उत्तर № 2 के लिए 1

हाई बाय डिफ़ॉल्ट रूप से ट्रीव्यू चेक की गई प्रॉपर्टी का उपयोग करता है।

तो आपके दृष्टिकोण में

public class MenuItemViewModel
{
public bool @checked { get; set; }
}

फिर जब आप अपने डेटाबेस से अपने व्यूमोडेल को भरते हैं, तो यह सुनिश्चित करता है कि यह सही स्थिति देता है।

यहां छवि विवरण दर्ज करें

अगर आपको अपने व्यूमॉडल में चेक जोड़ना पसंद नहीं है

फिर आप इसे डेटासोर्स पर मैप कर सकते हैं

   dataSource: new kendo.data.HierarchicalDataSource({
data: kendo.observableHierarchy([]),,
schema: {
model: {
fields: {
checked: {from: "WHATEVERYOUWANT", type: "boolean"}
}
}
}
}),
dataTextField: "Name",
checkboxes: true
  public class MenuItemViewModel
{
public bool WHATEVERYOUWANT { get; set; }
}