2017-04-11 3 views
0

Ich bin bereit, Beispiel Bericht Bildschirm, Benutzer wird wählen Bericht aus DropdownBox und füllen Sie einige spezielle Optionen. nach dem Klick auf die Schaltfläche Suchen (Sorgula) trifft es Leseaktion von ReportController.Telerik Raster zeigt nicht vorhandene Spalten ASP.NET MVC

diese Controller-Kosten Liste (was auch immer Sie whish) als Json

jetzt das funktioniert. Aber Telerik Grid Hinzufügen von verschiedenen Spalten, die ich nie hinzugefügt haben, um zu ergeben.

Es gibt keine von mir definierten Spalten im Raster. weil Spalten Abfrage

Meine Grid nach json führen

Jetzt

$("#ReportResult").kendoGrid({ 
     selectable: "multiple cell", 
     allowCopy: true, 
     height: 550, 
     groupable: true, 
     pageable: true, 
     sortable: true, 

     pageable: { 
      input: true, 
      numeric: false 
     }, 

     dataSource: new kendo.data.GanttDataSource({ 
      pageSize: 20, 
      serverPaging: true, 
      serverFiltering: true, 
      serverSorting: true, 
      transport: { 
      read: { 
       url: '<%= Url.Action("Read", "Report") %>', 
       dataType: "json", 
       type: "POST", 
       data: { 
        ReportID: 1, 
        OrganizationID: 2, 
        StartDate: "22", 
        EndDate: "11", 
        UserName:"dds", 
       }, 
      }, 
     }, 

     }), 


    }); 

lesen Aktion

public ActionResult Read([DataSourceRequest] DataSourceRequest request, int ReportID,int OrganizationID,string StartDate,string EndDate,string UserName) 
    { 

     List<COnsumersReport> lis = new List<COnsumersReport>(); 
     for (int i = 0; i < 99; i++) 
     { 
      COnsumersReport cc = new COnsumersReport(); 
      cc.ID = i; 
      cc.name = "semih"; 
      cc.sirname = "Yıldız"; 
      cc.Borc =i*20.5; 
      lis.Add(cc); 
     } 


     return Json(lis); 
    } 

Und das Ergebnis auftreten müssen. Wie Sie ID sehen, hat parentId, orderId, Title vs nicht von mir definiert.

enter image description here

public class COnsumersReport 
    { 
     public int ID { get; set; } 
     public string name { get; set; } 
     public string sirname { get; set; } 
     public double Borc { get; set; } 
    } 
+0

http://stackoverflow.com/questions/41942205/stop-kendo-from-auto-generating-grid-columns –

+0

danke @PierreLebon aber das ist für mich nicht. Weil ich nicht weiß, welche Spaltennamen von der Datenquelle kommen. Dieses Raster sollte alle Listen der Objekte anzeigen –

+0

Hat das COnsumersReport-Objekt alle diese zusätzlichen Eigenschaften? Wenn dies der Fall ist, definieren Sie sie, wenn Sie den neuen COnsumersReport() aufrufen. Verwenden Sie ein anderes Objekt zum Binden, das nur die gewünschten Felder enthält. – Seano666

Antwort

0

Der Grund war Raster-Datenquelle. Ich habe verwendet, um kendo.data.GanttDataSource große Datenquelle hinzufügen Auto-Spalten.

wenn ich versuche, kendo.data.DataSource Problem zu verwenden, ist behoben.

dataSource: new kendo.data.DataSource({ 
     pageSize: 100, 
     serverPaging: true, 
      transport: { 
       read: { 
        url: '<%= Url.Action("Read", "Report") %>', 
        dataType: "json", 
        type: "GET", 
        data: { 
         ReportID: $('#Rapor').val(), 
         OrganizationID: $('#Organizations').val(), 
         StartDate: $('#datepicker').val(), 
         EndDate: $('#datepickerEndDate').val(), 
         UserName: $('#userName').val(), 
        },       
       },      
      }, 
     error: function (req, textStatus, errorThrown) { 
      console.log("Error Verdi" + textStatus + ' ' + errorThrown); 
     }, 
     schema: { 
      total: function (response) { 
      return ResultCount; 
      } 
     } 
     }), 
Verwandte Themen