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에의 사진입니다 : 마지막으로
를, 필요하지 않은 것을 물론이고 현재 넣어 :
여기에 코드입니다그래서 문제가 있습니다. 데이터 저장소에서 검색되었지만 위의 데이터 테이블 그림에서 볼 수 있지만 Account_Price 열에는 가격이 표시되지 않습니다.
나는 코드의 줄을 따라 추적했고 코드를 추적하는 가격을 알 수 있었다. 하지만 브라우저에 표시되지 않는 이유는 모르겠습니다. 하나가 나를 도울 수
희망, 이가 나중에 Telerik보고와 새로운 문제,
링크 : http://www.telerik.com/community/forums/reporting/telerik-reporting/incorrect-dynamic-table-columns.aspx
는 기본적으로, 당신의 이름은 고유에게 TableGroup 열을 지정해야합니다
내가 여기 Telerik 포럼에서 답을 찾아 냈다. –이상한, 무슨 일이 일어 났는지는 모르겠지만 Telerik 포럼을 가리키는 링크를 편집했습니다. – Chris