Spread for ASP.NET中为RowTemplate新增了新的列头模板,这样,列头单元格可以拥有与数据行完全不同的布局风格。您可以改变传统的Spread布局方式,将一条数据展示在多行中。多行布局由行模板控制,行模板可以通过代码或者Spread设计器定制。

在本篇文章中,我们将阐述如何使用代码添加行模板布局,已经绑定表格控件 Spread 数据源。

Demo12

 

一、我们可以通过 WorksheetTemplate 实现行模板布局。

首先需要设置目标表单的模板为行布局模板:

 1: sheet.LayoutMode = FarPoint.Web.Spread.SheetView.LayoutModeType.RowTemplateLayoutMode;

 

然后,设置行布局模板:

 1: //设置行布局模板
 2: sheet.WorksheetTemplate.ColumnCount = 4;
 3: sheet.WorksheetTemplate.RowTemplate.RowCount = 2;
 4: sheet.WorksheetTemplate.ColumnHeaderTemplate.RowCount = 1;
 5: sheet.WorksheetTemplate.LayoutColumns[0].Width = 100;
 6: sheet.WorksheetTemplate.LayoutColumns[1].Width = 100;
 7: sheet.WorksheetTemplate.LayoutColumns[2].Width = 70;
 8: sheet.WorksheetTemplate.LayoutColumns[3].Width = 300;

最后,我们需要设置数据源字段在行模板中的显示顺序。

1: //设置行布局模板中显示数据字段顺序
 2: sheet.WorksheetTemplate.LayoutCells[0, 0].DataIndex = 1;
 3: sheet.WorksheetTemplate.LayoutCells[0, 1].DataIndex = 2;
 4: sheet.WorksheetTemplate.LayoutCells[1, 0].DataIndex = 3;
 5: sheet.WorksheetTemplate.LayoutCells[0, 2].DataIndex = 6;
 6: sheet.WorksheetTemplate.LayoutCells[0, 3].DataIndex = 4;
 7: sheet.WorksheetTemplate.LayoutCells[1, 3].DataIndex = 5;

 二、设置 Spread 数据源:

1: //从数据源中取数据
 2: DataTable employees = new DataTable("Employees");
 3: using (OleDbConnection connection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Northwind.mdb;Persist Security Info=True"))
 4: {
 5:     using (OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT EmployeeID, FirstName, LastName, Title, Address, HomePhone FROM Employees", connection))
 6:     {
 7:         adapter.Fill(employees);
 8:     }
 9: }
 10: employees.Columns.Add(new DataColumn("Photo"));
 11:  
 12: //通过 FpSpread 类下 DataSource 属性设置数据源
 13: FpSpread1.DataSource = employees;

以上即为 Spread for ASP.NET 7 新特性行模板布局。

更多新特性请参考在线演示实例:

http://www.grapecity.com.cn/LiveSamples/Spread/ASPNET/sampleexplorer/samples/RowTemplateLayout/Overview.aspx

同时,您也可以下载源码:

/developer/spreadstudio/demo