protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
DataColumn dc;//创建列
DataRow dr; //创建行
string[] HeaderStr = new string[9];
HeaderStr[0] = "教室";
HeaderStr[1] = "时间";
for (int i = 2; i < 9; i++)
{
HeaderStr[i] = (i - 1).ToString();
}
for (int i = 0; i < 9; i++)
{
dc = new DataColumn();
dc.ColumnName = HeaderStr[i];
dt.Columns.Add(dc);
}
for (int i = 0; i < 8; i++)
{
dr = dt.NewRow();
dr[0] = "1";
dr[1] = "1";
dr[2] = "1";
dr[3] = "1";
dr[4] = "1";
dr[5] = "1";
dr[6] = "1";
dr[7] = "1";
dr[8] = "1";
dt.Rows.Add(dr);
}
string[] col = HeaderStr;
for (int i = 0; i < col.Length - 1; i++)
{
GridViewTemplate temp = new GridViewTemplate(DataControlRowType.DataRow, col[i]);
TemplateField field = new TemplateField();
field.HeaderText = col[i];
field.ItemTemplate = temp;
GridView1.Columns.Add(field);
}
DataView dv = new DataView(dt);
GridView1.DataSource = dv;
GridView1.DataBind();
}
类
public class GridViewTemplate : ITemplate
{
private DataControlRowType templateType;
private string columnName;
public GridViewTemplate(DataControlRowType type, string colname)
{
templateType = type;
columnName = colname;
}
public void InstantiateIn(System.Web.UI.Control container)
{
if (templateType == DataControlRowType.DataRow)
{
LiteralControl label = new LiteralControl();
label.DataBinding += new EventHandler(tb_DataBinding);
container.Controls.Add(label);
}
}
private void tb_DataBinding(object sender, EventArgs e)
{
LiteralControl lb = (LiteralControl)sender;
GridViewRow container = (GridViewRow)lb.NamingContainer;
string str = ((DataRowView)container.DataItem)[columnName].ToString();
lb.Text = "";
}
}