2012-02-22 79 views
3

我試圖在PreRender事件中使用以下代碼片段來更改HeaderText,但它不起作用。 其實,我只注意到RadGrid1.columns是空的(用一個破發點),但我radgrid控件有3列:更改RadGrid列標題

protected void RadGrid1_PreRender(object sender, EventArgs e) 
{ 
    foreach (GridColumn col in RadGrid1.Columns) 
    { 
     if (col.UniqueName == "idAgir") 
      col.HeaderText = "Numéro"; 
     if (col.UniqueName == "objet") 
      col.HeaderText = "Titre du Ticket"; 
     if (col.UniqueName == "dateEtatIncident") 
      col.HeaderText = "Date dernière intervention"; 
    } 
    RadGrid1.Rebind(); 
} 
+0

你的方式將你的工作方式將工作,如果你將RadGrid1.Columns更改爲RadGrid1.MasterTableView.Columns – tatigo 2016-05-05 20:20:39

回答

7
var masterTableView = RadGrid1.MasterTableView; 
var column = masterTableView.GetColumn("idAgir"); 
column.HeaderText = "Numéro"; 
masterTableView.Rebind(); 
+0

感謝它的工作!但爲什麼我的錯? 順便說一下,你知道如何改變列的位置? (我有一個默認顯示在第一個位置的模板列,最後我希望它) – Slrg 2012-02-22 14:09:23

+0

@ArnaudAdigard http://www.telerik.com/help/aspnet-ajax/grid-reordering-columns.html – 2012-02-22 14:26:59

0

如果您要使用MasterTableView

protected void RadGrid1_PreRender(object sender, EventArgs e) 
{ 
    foreach (GridColumn col in RadGrid1.MasterTableView.Columns) 
    { 
     if (col.UniqueName == "idAgir") 
      col.HeaderText = "Numéro"; 
     if (col.UniqueName == "objet") 
      col.HeaderText = "Titre du Ticket"; 
     if (col.UniqueName == "dateEtatIncident") 
      col.HeaderText = "Date dernière intervention"; 
    } 
    RadGrid1.Rebind(); 
}