2012-12-03 85 views
1

我正在加載Infragistics網格。加載時,我有一個模板列需要檢查數據集中的另一個值,然後知道要加載的內容。它看起來不像Infragistics會讓我這樣做,所以我需要在網格加載後隱藏/顯示特定信息時在網格上運行查詢。Infragistics jQuery網格onLoad

例如:

我的網格:

  $("#divGrid").igGrid({ 
      columns: [ 
       { 
        headerText: "", 
        width: "70px", 
        key: "Division", 
        template: ProperRights.GetTemplate("${Division}") 
       } 
      ], 
      primaryKey: "EmployeeNumber", 
      autoGenerateColumns: false, 
      dataSource: AccountAdministrationGrid.GetGridData() 
     }); 

我的JS模板邏輯:

var ProperRights = new function() { 
    this.GetTemplate = function(division) { 
     if (division === 'DIV1') { 
      return 'Special Stuff'; 
     } else { 
      return "Boring Stuff"; 
     } 
    }; 
}; 

這就是我想做些什麼,但ProperRights.GetTemplate剛剛返回$ {司}而不是網格行值。

所以我的下一個方法是在網格的末尾添加一個.ready()。然後遍歷每個TD和一塊來從該行的價值和手動更改我的值在第一列像這樣:

.ready(function() { 
    $("td").each(function() { 
     var id = $(this).text(); 
     console.log(id); 
    }); 
}); 

但是,不能正常工作,它讓回來爲0 TD的找到類似網格尚未加載。

回答

6

在這種情況下,我建議使用Infragistics的模板引擎爲您的列創建條件模板。

http://help.infragistics.com/Help/NetAdvantage/jQuery/2012.2/CLR4.0/html/Creating_Conditional_Template_Containing_Default%20Statement.html

http://www.infragistics.com/products/jquery/sample/templating-engine/conditional-row-template

在您的特定情況下,您可以嘗試類似的東西:提供模板引擎,爲igGrid特別是有條件的行模板的概述一些有用的資源,可以在下面找到:

 var ProperRightsTemplate = '{{if ${Division} == "Div1" }} <span> Some Value </span>'; 
     ProperRightsTemplate += '{{else}} <span> Some boring stuff </span> {{/if}}'; 

希望這會有所幫助。

+2

我如何在這裏得到正確的答案,但Infragistics自己的支持門票上有錯誤的答案?謝謝。 – Boone