2012-11-21 41 views
12

मैं एक केंडोग्रिड का उपयोग कर रहा हूं और इनलाइन बैच संपादन कर रहा हूं। केवल कुछ चुनिंदा कुछ कॉलम संपादन योग्य हैं। टैब को हिट करते समय अगला कॉलम चुना जाता है लेकिन यह अगला संपादन योग्य कॉलम नहीं है। क्या केंडोग्रिड में टैब ऑर्डर को नियंत्रित करने का कोई तरीका है? मैं टैब को कॉलम को कैसे छोड़ूं जो संपादन योग्य नहीं हैं?केंडोग्रिड टैब ऑर्डर को पुनर्व्यवस्थित कैसे करें?

मेरे मार्क-अप:

<div id="employeeGoalsGrid"></div> 

मेरे जावास्क्रिप्ट:

var goalsDataSource = new kendo.data.DataSource({ 
     transport: { 
      read: { 
       url: '/MVC/ResearcherPoints/GetEmployeeResearchers', 
       type: 'POST', 
       contentType: 'application/json' 
      }, 
      update: { 
       url: '/MVC/ResearcherPoints/UpdateEmployeeGoal', 
       type: 'POST', 
       contentType: 'application/json' 
       //dataType: "jsonp" 
      }, 
      parameterMap: function (options, type) { 
       debugger; 
       $.extend(options, { ID: options.id }); 
       return JSON.stringify(options); 
      } 
     }, 
     batch: false, 
     schema: { 
      model: { 
       id: 'ID', 
       fields: { 
        id: { editable: false, nullable: false }, 
        FirstName: { editable: false, nullable: true }, 
        LastName: { editable: false, nullable: true }, 
        Title: { editable: false, nullable: true }, 
        TeamName: { editable: false, nullable: true }, 
        PointsGoal: { type: "number", nullable: true, validation: { required: false, min: 1 } } 
       } 
      } 
     }, 
     sortable: true, 
     filterable: true, 
     columnMenu: true 
    }); 


    $('#employeeGoalsGrid').kendoGrid({ 
     dataSource: goalsDataSource, 
     navigatable: true, 
     sortable: true, 
     resizable: true, 
     toolbar: ["save", "cancel"], 
     columns: [ 
      { field: "FirstName", title: "First Name", width: 200}, 
      { field: "LastName", title: "Last Name", width: 200 }, 
      { field: "Title", title: "Title", width: 200 }, 
      { field: "TeamName", title: "Team", width: 200 }, 
      { field: "PointsGoal", title: "Goal", width: 200 }], 
     editable: true, 
     filterable: true, 
    }); 

कोई सुझाव बहुत सराहना की जाएगी।

+0

समस्या है कि नेविगेशन आपके ग्रिड पर सभी कॉलम का चयन करती है हालांकि 'संपादन योग्य' ठीक काम करता है? – OnaBai

+0

हां। जब मैं टैब हिट करता हूं, तो फोकस अगले कॉलम पर ठीक हो जाता है लेकिन मैं गैर-संपादन योग्य कॉलम को छोड़ना चाहता हूं और अगले संपादन योग्य कॉलम पर जाना चाहता हूं। – Rodney

+0

क्या आप [JSFiddle] (http://jsfiddle.com) या [JSBin] (http://jsbin.com) पर नमूना पोस्ट कर सकते हैं? मुझे मदद करना अच्छा लगेगा, लेकिन एक इंटरेक्टिव नमूना से शुरू करने में सक्षम होना बहुत अच्छा होगा। –

उत्तर

0

क्या आप true से "inline" से ग्रिड विकल्पों पर editable संपत्ति को बदलने का प्रयास कर सकते हैं और मुझे यह बताएं कि क्या यह समस्या हल करता है? मैंने this JSBin में एक समान परिदृश्य बनाया है और जब मैं पंक्ति संपादित करता हूं तो टैब ऑर्डर ठीक काम करता है (ओएसएक्स पर क्रोम)।

+1

मैं बैच संपादन कर रहा हूं। मैं वास्तव में केवल एक ही स्तंभ जो संपादन योग्य है। जब टैब मारा जाता है तो मुझे बस एक पंक्ति नीचे कूदने की आवश्यकता होती है। इनलाइन में इसे बदलकर। उपयोगकर्ता को अब प्रत्येक पंक्ति पर सहेजना है क्लिक करना है। – Rodney

2

सेल छोड़ने के लिए आप tabindex="99999"

मैं परीक्षण प्रयोजनों के लिए एक jsfiddle बनाया उपयोग करने की आवश्यकता:

में http://jsfiddle.net/danieltulp/kfG7y/

मुझे लगता है कि आप विशेषताओं का उपयोग को देखने के लिए की जरूरत है:: { "999999" tabindex}

{ field: "UnitsInStock", title: "Units In Stock", width: 110, attributes: { tabindex: "999999" } } 

लेकिन यह काम नहीं कर रहा है। कोई भी बेहतर विचार है?

शायद यह संभव नहीं है?

+1

+1 अपने उत्तर पर अपने jsFiddle डालने के लिए धन्यवाद। -1 मुझे जवाब देने के लिए नहीं। +1 क्योंकि मुझे खुशी है कि मैं इस समस्या के साथ अकेला नहीं हूं। यह अभी भी मेरे लिए अनसुलझा है। मैं इस मुद्दे को ठीक करने के लिए केंडो से प्यार करूंगा। (क्षमा करें मैं आपको केवल +1 दे सकता हूं) – Rodney

+0

यह मेरा कोड नहीं है। केंडो वेबसाइट से सिर्फ डेमो। इसे आपके लिए हल करने का प्रयास करने के लिए बनाया गया लेकिन असफल रहा। +1 के लिए धन्यवाद –