2017-08-21 1 views
0

私のアプリケーションで剣道グリッドを使用しています。 そのグリッドでは、剣道のドロップダウンリストを使っています。 私はそのドロップダウンリストのdatasourceの配列を持っています。 私のDropDownListコントロールがどのように見える剣道UIのドロップダウンドロップダウンリストからオプションを選択した後にオブジェクトオブジェクトを表示するグリッド

var arr = [{text: "demo 1", value: 1}, {text: "demo 2", value: 2}] 

のように配列に見える:

$("#grid").kendoGrid({ 
     dataSource: dataSource, 
     navigatable: true, 
     pageable: true, 
     height: 550, 
     filterable: { 
      mode: "row" 
     }, 
     sortable: { 
      mode: "single", 
      allowUnsort: false 
     }, 
     toolbar: ["create"], 
     columns: [ 
      { field: "Item", title: "Item", width: "300px", editor: categoryDropDownEditor } 
     ], 
     editable: true 
    }); 

    function categoryDropDownEditor(container, options) { 
     $('<input data-text-field="text" data-value-field="value" data-bind="value:' + options.field + '" />') 
      .appendTo(container) 
      .kendoDropDownList({ 
       dataSource: arr, 
       autoBind: true, 
       dataTextField: "text", 
       dataValueField: "value", 
      }); 
    } 

それは正しくドロップダウン内のテキストを示しているが、ドロップダウンからオプションを選択した後、それは選択されたテキストとして対象オブジェクトを示し。

Image of option selecting と私は解決策の多くを試みたがうまくいきませんでした After option selected

を選択した後、ドロップダウン選択した値とオプションの後のスクリーンショットを添付します。 誰かが解決策を提供するのは素晴らしいことです。

おかげ

答えて

0

はあなたcategoryDropDownEditordata-text-fielddata-value-fieldを削除してください。

jsFiddleを作成しました。これをチェックしてください。

+0

あなたから提供されたフィドルも同じ問題があります。 新しいレコードを追加してから、ドロップダウンからオプションを選択してください。 "オブジェクトオブジェクト"を表示しています – Gourav

+0

'kendoDropDownList'に' valuePrimitive'を追加しました。 http://jsfiddle.net/0zauzskn/6/ –

+0

ありがとうございますが、valuePrimitiveを追加すると、dataValueField: "text"の代わりに "value"を使用すると、そのオプションの値が表示されます。 DBに保存する必要があるので、値としてdataValueFieldを追加する必要があります。 – Gourav

0

私はただ、これはあなたの望ましい結果が得られます、

http://jsfiddle.net/0zauzskn/5/

を "キャラティロスの" Jsfiddleコードを更新しました。

私は最高の幸運

schema: { 
    model: { 
     fields: { 
      item: { type: "string" } 
     } 
    } 
} 
あなたのdataSourceの中へ

を追加しました。

+0

応答をありがとうが、それは私がそれをさらに処理するために選択されたオプションの値を取得したいので、テキストから値にdataValueFieldを変更しているため動作していません。 あなたのフィドルでは、dataValueFieldがテキストとして記述されているので、値の代わりにテキストを返しています。 – Gourav

関連する問題