2016-11-10 20 views
1

ユーザーに列のサブセットを表示し、必要に応じて余分な列を追加できます。私はロード時に列のサブセットのみをロードするのに苦労しています。私が行った以下のコードを見つけてください。デフォルトの剣道グリッド

<kendo-grid k-options="vm.mainGridOptions" 
    k-columns="vm.mainGridColumns" 
    k-sortable="true" 
    k-filterable="{mode: 'row'}" 
    k-column-menu="true" 
    k-serverFiltering="false" 
    k-pageSize="10" 
    k-pageable="{ pageSizes: [5, 10, 25, 50, 100] }"> </kendo-grid> 

列を非表示にする

var mainGridDataSource = new kendo.data.DataSource({ 
     transport: { read: mainGridReadEventHandler, cache: true }, 
     serverFiltering: false, 
     page: 1, 
     pageSize: 10, 
     schema: { 
      data: 'data', 
      total: 'total', 
      model: { 
       fields: { 
        customerName: { type: "string" }, 
        serviceAccountStatus: { type: "string" }, 
        customerNumber: { type: "string" }, 
        serviceType: { type: "string" }, 
        utilityAccountNumber: { type: "string" }, 
        serviceAddress: { type: "string" }, 
        billingAccountNumber: { type: "string" }, 
        utility: { type: "string" }, 
        phoneNumber: { type: "string" }, 
        email: { type: "string" } 

       } 
      } 

     } 
    }); 

vm.mainGridColumns = [ 
     { 
      field: "customerName", 
      title: "Name", 
      template: 
       "<a ui-sref='resiservice.account-search.customer-details({ customerId:${customerId}, serviceAccountId:${serviceAccountId} })'>${customerName}</a>" 
     }, 
     { 
      field: "serviceAccountStatus", 
      title: "Status" 
     }, 
     { 
      field: "customerNumber", 
      title: "NAP Customer #" 
     }, 
     { 
      field: "serviceType", 
      title: "Commodity" 
     }, 
     { 
      field: "utilityAccountNumber", 
      title: "Utility/Account #" 
     }, 
     { 
      field: "serviceAddress", 
      title: "Service Address" 
     }, 
     { 
      field: "billingAccountNumber", 
      title: "NAP Account #" 
     }, 
     { 
      field: "utility", 
      title: "Utility" 
     }, 
     { 
      field: "phoneNumber", 
      title: "Phone #" 
     }, 
     { 
      field: "email", 
      title: "Email Address" 
     } 
    ]; 

Currently columns list coming like this first time

And i want to achive like this

答えて

1

使用columns.hidden propertyコントローラコード、すなわち

{ 
     field: "utility", 
     title: "Utility", 
     hidden: true 
    }, 
    { 
     field: "phoneNumber", 
     title: "Phone #", 
     hidden: true 
    }, 
    { 
     field: "email", 
     title: "Email Address", 
     hidden: true 
    } 

例: http://dojo.telerik.com/EzuFO

この列は、メニューの列のリストに表示されます。

+0

ダウィッド、私も別の質問があります。すべての列の選択を単一の場所に保つことが可能です。列を隠して表示するために使用するいくつかのボタンですか?もしあなたが私がこれのために別の質問を追加することができますしたい。 – tt0206

+1

ここでは、非表示/表示列メニュー用に単一のポイントを実装する方法を示します。それはかなり複雑ですが、私のプロジェクトでは、すべての適切なスタイリングで*もっと*良く見えますが、それはあなたを動かすはずです:http://dojo.telerik.com/@Stephen/AvAqE左上の小さなボタンをクリックしてくださいグリッドツールバーの角をクリックすると、実際の動作を確認できます。 Telerikのフォーラムで私の元の答えにリンクしてください。http://www.telerik.com/forums/grid-column-menu-only-in-one-column#6d94PE5530C9OpC4n5JhXA –

+0

@トルーマンタンデル - 私は助けてくれた。私の答えがあなたの問題に対処して助けになったのであれば、それを受け入れてupvoteとしてマークしてください。あなたの2番目の質問については、次回は別の質問をして、同じ問題を抱えている人には簡単に見つけられるようにしてください。それと同時に、スティーブンの答えをアップアップして彼の得点に加えることができました。 –