在添加新记录时,kendo ui grid dropdownlist无法传递其值

时间:2014-08-19 04:32:00

标签: kendo-ui

以下案例涉及:http://demos.telerik.com/kendo-ui/grid/editing-custom 添加屏幕有效,但添加失败,因为下拉列表无法获取值。

问题:添加新记录,然后选择曲线术语(不是默认值)时,下拉列表无法获取任何值,即 json后端是:“curvetermid”:“”

代码如下:

    <div id="grid"/>

    var dataSource = new kendo.data.DataSource ({
      batch:true,    
      transport:{
        read: function (options) {
          $.ajax({
            type: "POST",
            url:"",
            data:"/idx/list",
            dataType:"json",
            contentType: "application/json; charset=utf-8",
            success: function(result) {
              options.success(result);
            }
          })
        },
        create: function(options) {
          $.ajax({
            type: "POST"
            ,url:"/create"
            ,dataType:"json"
            ,contentType: "application/json; charset=utf-8"
            ,data:kendo.stringify(options.data.models)
            ,success:function(result) {
              options.success(result);
            }
          });
        },     
        parameterMap:function(options,operation) {
            return kendo.stringify(options.models);
        }
      },
      schema:{
       data: result.data,
       total:result.total,
       model:{
          id:idKey,
          fields:{
               idKey:     {type:"number"},
              **curveterm: {validation: {required: true}}**
          }
       }
     }
  });

 $("#grid").kendoGrid({
      dataSource:dataSource,
      columns: [
               {field: "idKey", title: "ID"},
               **{field: "curvetermid", 
                title: "Curve Term",
                editor: fnDdlCurvetermEditor, 
                template: "#=curveterm.curvetermname#"}
               ]**,
      editable:{mode:"popup", confirmation:"Are you sure you want to remove this item?"}

    });



function fnDdlCurvetermEditor(container,options) {
  var data = [{"curvetermid":0,"curvetermname":"NA","isactive":1},    {"curvetermid":1,"curvetermname":"AAA","isactive":1},{"curvetermid":2,"curvetermname":"BBB","isactive":1}];

  var ddlVar = $('<input id="curvetermid" name="curvetermid" ' 
      + ' data-value-field="curvetermid" '
      + ' data-text-field="curvetermname"' 
      + ' data-bind="value: ' + options.field + '"/>')
  .appendTo(container)
  .kendoDropDownList({      
    dataTextField: "curvetermid",
    dataValueField: "curvetermname",
    dataSource: data
  });

}

0 个答案:

没有答案