2013-02-27 170 views
7

मैं केंडो स्वत: पूर्ण की डेटाTextField संपत्ति के लिए दो फ़ील्ड जोड़ना चाहता हूं।केंडो यूआई स्वत: पूर्ण डेटा के डेटा फ़ील्ड के लिए दो फ़ील्ड कैसे गठबंधन करें?

मेरा डेटासौस में फर्स्टनाम फ़ील्ड और लास्टनाम फ़ील्ड है।

schema: { 
      data: "d", 
      model: { 
       id: "PersonId", 
       fields: { 
        PersonId: { 
         type: "number", 
         editable: false // this field is not editable 
        }, 
        FirstName: { 
         type: "text", 
         validation: { // validation rules 
          required: true // the field is required 
         } 
        }, 
        LastName: { 
         type: "text", 
         validation: { // validation rules 
          required: true // the field is required 
         } 
        } 
       } 
      } 
     } 

क्या कोई तरीका है कि मैं फर्स्टनाम + लास्टनाम प्रदर्शित करने के लिए स्वतः पूर्ण कॉन्फ़िगर कर सकता हूं?

शायद मुझे इसके बजाय डेटास्रोत के साथ कुछ करना है, और यदि ऐसा है, तो क्या कोई साधारण उदाहरण प्रदान कर सकता है?

धन्यवाद!

उदाहरण के लिए

:

+0

FYI: केवल "स्ट्रिंग", "संख्या", "बूलियन" और "दिनांक" "प्रकार" फ़ील्ड के लिए वैध मान हैं। http://docs.kendoui.com/api/framework/model#model.define –

उत्तर

8

आप template का उपयोग करना चाहिए

template:"The name is : #= FirstName # #=LastName #" 
+3

यह केवल ड्रॉपडाउन सूची आइटम के लिए टेम्पलेट को संशोधित करता है, जब कोई आइटम चुना जाता है तो यह combobox के मान को नहीं बदलता है। आप उसे कैसे करते हैं? –

+0

टेम्पलेट केवल डेटा प्रदर्शित करने के लिए है, इसे बांधने के लिए नहीं। आप कुछ ऐसा करने की कोशिश कर सकते हैं [यह] (http://jsfiddle.net/VGufY/39/)। आइटम को पंक्तियों को बाध्य करने के लिए डेटा पंक्तियों का उपयोग करना। कृपया ध्यान दें कि यह प्रदर्शन नाली दृष्टिकोण है क्योंकि प्रत्येक बदलाव के बाद पूरे ग्रिड को फिर से खींचा जाता है। –

7

का उपयोग टेम्पलेट्स एक मान्य समाधान है। हालांकि, यदि आप हमेशा अपने मॉडल पर एक समग्र या गणना की गई फ़ील्ड को एक्सेस करना चाहते हैं तो आप स्कीमा परिभाषा में parse function परिभाषित कर सकते हैं।

schema: { 
    data: "d", 
    model: { 
     id: "PersonId", 
     fields: { 
      PersonId: { 
       type: "number", 
       editable: false // this field is not editable 
      }, 
      FirstName: { 
       type: "string", 
       validation: { // validation rules 
        required: true // the field is required 
       } 
      }, 
      LastName: { 
       type: "string", 
       validation: { // validation rules 
        required: true // the field is required 
       } 
      }, 
      Name: { 
       type: "string" 
       // add any other requirements for your model here 
      } 
     } 
    }, 
    parse: function (response) { 
     var values = response.d, 
      n = values.length, 
      i = 0, 
      value; 
     for (; i < n; i++) { 
      value = values[i]; 
      value.Name = kendo.format("{0} {1}", 
       value.FirstName, 
       value.LastName); 
     } 

     return response; 
    } 
} 

पार्स फ़ंक्शन सर्वर प्रतिक्रिया को पहले से संसाधित करता है, ताकि आप मौजूदा फ़ील्ड को संशोधित कर सकें या नए संलग्न कर सकें। फिर आप मॉडल का उपयोग करने वाले किसी भी नियंत्रण में फ़ील्ड को सीधे संदर्भित कर सकते हैं।