我們這樣做的方式是擴展GridView。覆蓋的CreateChildControls,喜歡的東西:
public class CustomGridView : GridView
{
protected override int CreateChildControls(System.Collections.IEnumerable dataSource, bool dataBinding)
{
int numRows = base.CreateChildControls(dataSource, dataBinding);
//no data rows created, create empty table
if (numRows == 0)
{
//create table
Table table = new Table();
table.ID = this.ID;
//create a new header row
GridViewRow row = base.CreateRow(-1, -1, DataControlRowType.Header, DataControlRowState.Normal);
//convert the exisiting columns into an array and initialize
DataControlField[] fields = new DataControlField[this.Columns.Count];
this.Columns.CopyTo(fields, 0);
this.InitializeRow(row, fields);
row.TableSection = TableRowSection.TableHeader;
table.Rows.Add(row);
this.Controls.Add(table);
}
return numRows;
}
}
覆蓋在GridView」的CreateChildControls到一個空表添加到它的時候沒有數據顯示。
此代碼爲我產生一個錯誤「沒有合適的方法來覆蓋」,第二我真的不明白這個代碼的目的,所以如果有人可以解釋。謝謝。 – ykh