0

Ich habe eine patial Ansicht mit folgendem Code (mit benutzerdefinierter Datenbindung):Erste Ausnahme StartEdit auf DevExpress Grid

Teilansicht

@{ 

Html.EnableClientValidation(); 

Html.EnableUnobtrusiveJavaScript(); 

    var grid = Html.DevExpress().GridView(settings => { 
     settings.Name = "GridView1"; 
     settings.KeyFieldName = "StudentId"; 
     settings.CallbackRouteValues = new { Controller = "CustomBinding", Action = "MyGridViewPartial" }; 

     settings.CustomActionRouteValues = new { Controller = "Editing", Action = "ChangeEditModePartial" }; 

     settings.SettingsEditing.AddNewRowRouteValues = new { Controller = "CustomBinding", Action = "GridView1PartialAddNew" }; 

     settings.SettingsEditing.UpdateRowRouteValues = new { Controller = "CustomBinding", Action = "GridView1PartialUpdate" }; 

     settings.SettingsEditing.DeleteRowRouteValues = new { Controller = "CustomBinding", Action = "GridView1PartialDelete" }; 
     settings.SettingsEditing.Mode = GridViewEditingMode.EditFormAndDisplayRow; 
     settings.SettingsBehavior.ConfirmDelete = true; 
     settings.SettingsPopup.EditForm.Width = 600; 

     settings.CommandColumn.Visible = true; 
     settings.CommandColumn.ShowNewButton = true; 
     settings.CommandColumn.ShowDeleteButton = true; 
     settings.CommandColumn.ShowEditButton = true; 


     settings.CustomBindingRouteValuesCollection.Add(
     GridViewOperationType.Paging, 
     new { Controller = "MyController", Action = "MyPagingAction" } 
    ); 

     settings.CustomBindingRouteValuesCollection.Add(
     GridViewOperationType.Sorting, 
     new { Controller = "MyController", Action = "MySortingAction" } 
    ); 
     settings.SettingsAdaptivity.AdaptivityMode = GridViewAdaptivityMode.Off; 
     settings.SettingsAdaptivity.AdaptiveColumnPosition = GridViewAdaptiveColumnPosition.Left; 
     settings.SettingsAdaptivity.AdaptiveDetailColumnCount = 1; 
     settings.SettingsAdaptivity.AllowOnlyOneAdaptiveDetailExpanded = false; 
     settings.SettingsAdaptivity.HideDataCellsAtWindowInnerWidth = 0; 


     settings.Columns.Add("StudentId"); 
     settings.Columns.Add("StudentName"); 
     settings.Columns.Add("StudentAge"); 
     settings.Columns.Add("StudentGrade"); 
     settings.Columns.Add("StudentAddress"); 

     settings.PreRender = (sender, e) => 
     { 

      ((MVCxGridView)sender).StartEdit(0);/**//This is the Exception line** 
     }; 
     settings.CellEditorInitialize = (s, e) => 
     { 
      ASPxEdit editor = (ASPxEdit)e.Editor; 
      editor.ValidationSettings.Display = Display.Dynamic; 

     }; 
      }); 
     if (ViewData["EditError"] != null){ 
     grid.SetEditErrorText((string)ViewData["EditError"]); 
    } 
} 
@grid.BindToCustomData(Model).GetHtml()///Custom binding 

vorschlagen Bitte die Lösungen:

Ausnahme: Ein Primärschlüsselfeld, das über die KeyFieldName-Eigenschaft angegeben wurde, wurde in der zugrunde liegenden Datenquelle nicht gefunden. Stellen Sie sicher, dass der Feldname richtig geschrieben ist. Achte auf den Charakterfall.

+0

Bist Du sicher, dass das Modell enthält (StudentID) Eigenschaft und Sie holen es aus db erfolgreich? –

+0

Ja Ahmed Ragheb –

+0

von DevExpressForum: das erforderliche Feld ist nicht mit dem Schlüsselwort "public" gekennzeichnet oder hat keine "get"/"set" Zugriffsmethoden. Es ist notwendig, die "get"/"set" -Accessoren für verwendete Felder/Eigenschaften zu implementieren; –

Antwort

-1

Sind Sie sicher, dass das Modell enthält (StudentID) Eigenschaft und Sie holen es von db erfolgreich und ist es auch öffentlich mit Getter und Setter

Verwandte Themen