2017-09-23 67 views
0

在我的kendo網格中,當我想添加新記錄時彈出添加窗口,我想添加一個下拉列表,因爲我需要這個下拉列表只有當我想添加一個新的記錄,在fowlloing方法是行不通的,意味着我不能看到dopdown列表:如何添加dropdownlist到kendo彈出編輯器如果添加按鈕被按下

edit:function(e) { if (e.model.isNew()) { $("DeviceType") 
           .appendTo(container) 
           .kendoDropDownList({          
           dataTextField: "Text", 
           dataValueField: "Text", 
           valuePrimitive: true, 
           dataSource: mydata_deviceType,}}} 

我的網域:

columns: [ 
            { field: 'DeviceIP', title: 'DeviceIP', width: '100px', id: 'DeviceIP' }, 
            { field: 'Producer', title: 'Producer', width: '80px', id: 'Producer' },//editor: ProductNameDropDownEditor, 
            { field: 'Model', title: 'Model', width: '220px', id: 'Model' }, 
            { field: 'DeviceType', title: 'DeviceType', width: '100px', id: 'DeviceType', editor: deviceTypesList }, 
            { field: 'Description', title: 'Description', width: '220px' }, 
            { field: 'Username', title: 'Username', width: '120px' }, 
            { field: 'Password', title: 'Password', width: '100px' }, 
            { field: 'PublicIP', title: 'PublicIP', width: '120px', id: 'PublicIP' }, 
            { field: 'TurbineId', title: 'TurbineId', width: '120px', id: 'TurbineId', hidden: true }, 
            { field: 'device_id', title: 'device_id', width: '120px', id: 'deviceid', hidden: true }, 
            { field: 'ModelProducer', title: 'Producer/Model', hidden: true, editor: modelProducer }, 
            { 
             command: ["edit"], title: " " 

            } 
          ], 

的modelProducer功能:

function modelProducer(container, options) { 


          var t = modelProducerResult; 

          $('<input name="ModelProducer" id="ModelProducer" data-type="string" style="width: 100%"\">') 
          .appendTo(container) 
          .kendoDropDownList({ 


           dataSource: modelProducerResult, 
           dataTextField: "model", 
           dataValueField: "model", 
           valuePrimitive: true,         
           change: upnChange 

          }); 

          debugger; 

         } 
+0

沒有jQuery選擇像$(「設備類型」),你應該使用像這樣的名稱選擇器$(「input [name = DeviceType]」)。 –

+0

@RKSaini甚至$('')不起作用 – bravo83

+0

網格中是否存在具有此名稱的字段(DeviceType)? 。並確保它是可編輯的 –

回答

0

您可以根據模式添加/編輯追加編輯器。 只要改變你的編輯功能如下:

function deviceTypesList(container, options) { 
    if (options.model.isNew()) { 
     $('<input name="' + options.field + '"/>') 
       .appendTo(container) 
       .kendoDropDownList({ 
        dataTextField: "Text", 
        dataValueField: "Text", 
        valuePrimitive: true, 
        dataSource: mydata_deviceType 
       }); 
    } 
    else 
    { 
     $('<input type="text" class="k-input k-textbox" name="DeviceType"">') 
       .appendTo(container); 
    } 
} 

這裏是一個工作演示http://dojo.telerik.com/IReWe

我希望它能幫助你:)

+0

它的偉大,但正如你在我的問題中看到,我有另一個功能,看看我的網格,另一個函數是modelProducer,我應該把它放在你的方法嗎?並且該函數綁定我的第二個下拉列表基於第一個函數(deviceType) – bravo83

+0

我不認爲你需要ch那個功能。儘管你可以使用option.model.DeviceType來獲取DeviceType的值,並相應地更改下拉菜單 –

+0

@ thanks和$('') by option.field你的意思是什麼?我應該在那裏寫點什麼? – bravo83

相關問題