我為GridVIEw 創建了個RowSpan的方法 .有一個object 參數
為什要定義object 參數 源於ASP.Net MVC 的Routing 組件配置規則 感覺這種方式很不錯..
所以使用了這種方式來進行.
這個擴展方法的使用方式很簡單
var s = new[] {
new { 姓名 = "張三", 性別 = "男", 語文 = 86f, 數學 = 90f, 學期 = "第一學期" },
new { 姓名 = "張三", 性別 = "男", 語文 = 89f, 數學 = 98f, 學期 = "第二學期" },
new { 姓名 = "李四", 性別 = "男", 語文 = 89f, 數學 = 64f, 學期 = "第一學期" },
new { 姓名 = "李四", 性別 = "男", 語文 = 75f, 數學 = 64f, 學期 = "第二學期" },
new { 姓名 = "王五", 性別 = "男", 語文 = 89f, 數學 = 64f, 學期 = "第一學期" },
new { 姓名 = "王五", 性別 = "男", 語文 = 63f, 數學 = 93f, 學期 = "第二學期" }
};
this.GridVIEw1.DataSource = s;
this.GridVIEw1.DataBind();
this.GridVIEw1.RowSpan(new { ColumnIndex = 0, Columns = "1" });
我們合並第1列的值姓名.. GirdVIEw索引是從0開始的所以ColumnIndex=0 性別肯定和姓名對應的
可以是用Colunmns="" 這個屬性來指定哪個列的合並方式和 ColumnIndex指定的列相同 多個用 "," 隔開比如 Colunmns="2,3,4,5"這種方式
如果GridVIEw中使用了模板列 則除了需要指定ColumnIndex外還需要添加ID和PropertyName屬性
如 new {ColumnIndex=0,ID="lblName",PropertyName="Text",Columns="1" }
ID 表示模板列的控件名稱 PropertyName 表示值來自於控件的哪個屬性.
注:暫時只能指定普通屬性如Text 或Value ;SelectedItem.Value 這種屬性需要修改部分代碼 也 不能包含容器控件 修改部分代碼可以支持容器控件
效果圖