2013-07-23 2 views
0

동적으로 보고서 테이블을 생성하려고합니다. 사실, 웹 서핑 외에도 많은 노력을 기울 였지만 다음 코드를 사용해 보았지만 제대로 작동하지만 원하는 출력을 제공하지 못했습니다. 여기Telerik 보고서 뷰어에서 테이블 생성 프로그래밍 방식으로

private void table1_ItemDataBinding(object sender, EventArgs e) 
    { 
     // Get data and bind it to the table 
     var processingTable = (sender as Telerik.Reporting.Processing.Table); 
     var data = GenerateTable(DomainClass.GetCurrentAsset()); 
     if (processingTable != null) processingTable.DataSource = data; 

     // Better clear table before binding 
     table1.ColumnGroups.Clear(); 
     table1.Body.Columns.Clear(); 
     table1.Body.Rows.Clear(); 

     HtmlTextBox txtGroup; 
     HtmlTextBox txtTable; 
     //int rowIndex = 0; 

     for (int i = 0; i <= data.Columns.Count - 1; i++) 
     { 
      var tableGroupColumn = new TableGroup(); 
      table1.ColumnGroups.Add(item: tableGroupColumn); 

      txtGroup = new HtmlTextBox 
          { 
           Size = new SizeU(Unit.Inch(2.1), Unit.Inch(0.3)), 
           Value = data.Columns[i].ColumnName, 
           Style = 
            { 
             BorderStyle = { Default = BorderType.Solid }, 
             BorderColor = { Default = Color.Black } 
            }, 
          }; 
      tableGroupColumn.ReportItem = txtGroup; 

      txtTable = new HtmlTextBox() 
          { 
           Size = new SizeU(Unit.Inch(2.2), Unit.Inch(0.3)), 
           Value = "=Fields." + data.Columns[i].ColumnName, 
           //Value = data.Rows[rowIndex][i].ToString(), 
           Style = 
            { 
             BorderStyle = { Default = BorderType.Solid }, 
             BorderColor = { Default = Color.Black } 
            } 
          }; 

      table1.Body.SetCellContent(0, columnIndex: i, item: txtTable); 
      //rowIndex++; 
      table1.Items.AddRange(items: new ReportItemBase[] { txtTable, txtGroup }); 
     } 
    } 

테이블 데이터가 들어 DataTable에의 사진입니다 : 마지막으로

Data Table Image of the Report

를, 필요하지 않은 것을 물론이고 현재 넣어 :

여기에 코드입니다

Report Result (Not Desired)

그래서 문제가 있습니다. 데이터 저장소에서 검색되었지만 위의 데이터 테이블 그림에서 볼 수 있지만 Account_Price 열에는 가격이 표시되지 않습니다.

나는 코드의 줄을 따라 추적했고 코드를 추적하는 가격을 알 수 있었다. 하지만 브라우저에 표시되지 않는 이유는 모르겠습니다. 하나가 나를 도울 수

희망, 이가 나중에 Telerik보고와 새로운 문제,

답변

3

분명히 주셔서 대단히 감사합니다. 이 페이지로 리디렉션을 제공

TableGroup tableGroupColumn = new TableGroup(); 
//add this : 
tableGroupColumn.Name = i.ToString(); 
+0

링크 : http://www.telerik.com/community/forums/reporting/telerik-reporting/incorrect-dynamic-table-columns.aspx

는 기본적으로, 당신의 이름은 고유에게 TableGroup 열을 지정해야합니다

내가 여기 Telerik 포럼에서 답을 찾아 냈다. –

+0

이상한, 무슨 일이 일어 났는지는 모르겠지만 Telerik 포럼을 가리키는 링크를 편집했습니다. – Chris

관련 문제