2016-03-28 25 views
1

是否可以爲UI網格中的選擇字段設置自定義列定義,並從數據模式中選取其餘字段?這個用例的出現是因爲我的json數據模式是可變的,並且只有一列(我確信它存在於數據中),並且想要將自定義單元格模板應用於該列。自定義用戶界面中的選擇列

網格選項:

$scope.gridOptions = { 
    data: data, 
    columnDefs: [ 
     { field: 'name', width: 250, cellTemplate: "../../tpl/grid/name_template.html" } 
    ] 
} 

,其中數據是可變模式的JSON對象。

如果我以這種方式定義網格,只有數據對象中的名稱字段將顯示在網格中。是否可以將自定義列def用於名稱字段,還可以在數據對象中顯示其他對象而不指定它們的列定義?

爲了提供更加清晰:

我的數據對象可以是:

[{name: 'apple', type: 'fruit', seasonal: true}] 

或:

[{name: 'apple', color: 'green', taste: 'sour'}] 

基本上我的使用情況是這樣的,有沒有辦法在我之前就知道手裏將會從初始化網格數據對象的查詢中返回哪些列,但我確信名稱列將成爲查詢返回的數據的一部分。我想爲名稱字段提供自定義單元格模板和其他屬性,並顯示可能存在的其他列。

正常的行爲是,如果我指定字段中的一列的列定義,那麼我必須指定所有其他列的定義,這些列是數據的一部分,以使它們可見,在我的情況下,不知道其他字段名稱可能是什麼。

+0

我不明白 - 本教程是否不符合您的需求? http://ui-grid.info/docs/#/tutorial/306_custom_filters如果沒有,請更詳細地描述爲什麼不是 –

回答

0
$scope.gridOptions = { 
    data: data, 
    columnDefs: [ 
     { field: 'name', width: 250, cellTemplate: $.get('url-to-your-template.html') } 
    ] 
} 

檢查上述工作是否正常。您可以使用自己的服務獲取模板

+0

我不確定這將如何幫助情況,因爲問題更多地與指定列有關在n個數據列中只有一個會導致只顯示一列。我試過了,它給了我一個類型錯誤 - template.replace不是一個函數。感謝您及時的回覆。 –

+0

你可以創建一個你正在嘗試的東西嗎?或者更多的代碼? –

+0

請檢查我對該問題的編輯以提供更多清晰度。 –