2012-04-19 3 views
0

나는 쿼리 할 수있는 데이터 소스와 템플릿 컬럼으로 구성된 그리드를 가지고있다. 그리드 열 순서

 <telerik:RadGrid ID="rulesGrid" runat="server" AutoGenerateColumns="true"> 
     <MasterTableView> 
     <Columns> 
     <telerik:GridTemplateColumn HeaderText="Status" UniqueName="statusResult"> 
     </telerik:GridTemplateColumn> 
     </Columns> 
     </MasterTableView> 

    </telerik:RadGrid> 

그리고를 Page_Load

 var ruleset = (from s in (this.Page as BasePage).DbContext.ProductEventChecks 
         where s.Sequence!=0 
         orderby s.Sequence 
         select new 
         { 
          Description = s.Description 
         }); 

     rulesGrid.DataSource = ruleset; 
     rulesGrid.DataBind(); 

에서

그래서, 문제는 그 상태 필드 (템플릿 열) 설명 필드 앞에 오는 것입니다. 그러나 설명이 가장 먼저 표시되기를 바랍니다. 이걸 끝내면서 나를 도울 수 있니?

답변

2

아래 코드를 확인하십시오.

가 .aspx로

<telerik:RadGrid ID="RadGrid1" runat="server" OnNeedDataSource="RadGrid1_NeedDataSource" 
    AllowPaging="True" OnPreRender="RadGrid1_PreRender" 
    AutoGenerateColumns="true" oncolumncreated="RadGrid1_ColumnCreated"> 
    <PagerStyle AlwaysVisible="true" /> 
    <MasterTableView> 

    </MasterTableView> 
</telerik:RadGrid> 

.aspx.cs

마법처럼
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) 
{ 
    dynamic data = new[] { 
      new { ID = 1, Name ="Name1"} 
     }; 

    RadGrid1.DataSource = data; 
} 
protected void RadGrid1_ColumnCreated(object sender, GridColumnCreatedEventArgs e) 
{ 
    if (e.Column.UniqueName == "ID") 
    { 
     e.Column.OrderIndex = 1; 
    } 
    else if (e.Column.UniqueName == "Name") 
    { 
     e.Column.OrderIndex = 0; 
    } 

} 
+0

작품 - 답으로 인정한다 –