2012-01-04 7 views
0

に渡しに関するエラーが表示されます。「インライン」以外にtelerikグリッドの編集モードを変更しようとすると、私はそうのようなグリッドを作成し、間違ったモデルタイプ

Html.Telerik().Grid<myapp.Date>("dates") 
    .Name("MyGrid") 
    .Pageable(paging => paging.PageSize(10)) 
    .Sortable() 
    .Filterable() 
    .Groupable() 
    .DataKeys(keys => keys.Add(c => c.id)) 
    .DataBinding(dataBinding => 
    { 
     dataBinding.Ajax() 
     .Select("_SelectAjaxEditing", "Dates") 
     .Insert("_InsertAjaxEditing", "Dates") 
     .Update("_SaveAjaxEditing", "Dates") 
     .Delete("_DeleteAjaxEditing", "Dates"); 
    }) 
    .ToolBar(commands => commands.Insert()) 
    .Columns(columns => 
    { 
     columns.Bound(o => o.name); 
     columns.Bound(o => o.date1); 
     columns.Command(commands => 
     { 
      commands.Edit().ButtonType(GridButtonType.Text); 
      commands.Delete().ButtonType(GridButtonType.Text); 
     }); 
    }) 
    .Editable(editing => editing.Mode(GridEditMode.InLine)) 
    .Render(); 
    %> 

、それが正常に動作、私はGridEditModeがインライン以外のものであることを変更した場合、私は次のエラーを取得する:

The model item passed into the dictionary is of type 'myapp.Date', but this dictionary requires a model item of type 'System.Nullable`1[System.DateTime]'.

のSystem.DateTimeフィールドは、グリッド内にあることが、このエラーの原因でしょうか?

+0

モデルがどのように見えるのでしょうか? 'DateTime? 'を期待するメソッドに' DateTime'を渡しているようです。 – Rafay

+0

この質問に答えるためには、コントローラとモデルから関連するコードを見るのが役に立ちます。 – Daniel

+0

モデルやコントローラがなければ、ややこしいことになります。このDateTimeフィールドをnullableに設定するか、[必須]でそれを飾ってみましたか? – carlbergenhem

答えて

1

これは、モデルとして渡す日付がヌル値ではなく、モデル化に必要な日付がNULLに設定されているためです。モデルタイプを「DATETIME?」に変更した後でこれを試してみてください。

注:プロパティを宣言する場合は、DateTimeと宣言しますか?あなたのフィールドとしてはがヌル入力可能です。

おかげ

よろしく、

Dhavalシュクラ

関連する問題