2017-04-11 9 views
0

サンプルレポート画面を作成中です。 ユーザーはdropdownBoxからレポートを選択し、いくつかの特別なオプションを設定します。 ボタンをクリックして検索ボタン(Sorgula)を押すと、ReportControllerからアクションが読み込まれます。存在しない列を表示しているTelerikグリッドASP.NET MVC

このコントローラは

今これが働いているJSON

としてリスト(あなたがシューッという音何でも)を返します。 しかしTelerikグリッドは、決して追加したことのない異なるカラムを追加します。

私が定義したグリッドには列がありません。列がJSONの結果に応じて

今、私のグリッドは、クエリ

$("#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", 
       }, 
      }, 
     }, 

     }), 


    }); 

読むアクション

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); 
    } 

し、結果を作成発生しなければならないからです。 id、parentId、orderId、Title vsが私によって定義されていないことがわかります。

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

は @PierreLebonありがとうが、これは私のためではありません。私はどの列名がデータソースから来るのかわからないので。 このグリッドはオブジェクトのすべてのリストを表示する必要があります –

+0

COnsumersReportオブジェクトにこれらの追加プロパティがすべてありますか?そうであれば、新しいCOnsumersReport()を呼び出すときにそれらを定義しています。目的のフィールドのみを含むオブジェクトにバインドするには、別のオブジェクトを使用します。 – Seano666

答えて

0

理由は、グリッドのデータソースでした。私はkendo.data.GanttDataSourceに慣れています 自動列を追加する壮大なデータソース。

kendo.data.DataSourceを使用しようとすると問題が解決しました。

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; 
      } 
     } 
     }), 
関連する問題