protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { GridView1.DataSource = FormatDT(); GridView1.DataBind(); } } protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) { switch (e.Row.RowType) { //页头 case DataControlRowType.Header: //第一行表头 TableCellCollection tcHeader = e.Row.Cells; tcHeader.Clear(); tcHeader.Add(new TableHeaderCell()); tcHeader[0].Attributes.Add("bgcolor", "#8E8E8E"); tcHeader[0].Attributes.Add("rowspan", "0"); //跨Row tcHeader[0].Attributes.Add("colspan", "9"); //跨Column tcHeader[0].Text = "全部信息</tr><tr>"; //第二行表头 tcHeader.Add(new TableHeaderCell()); tcHeader[1].Attributes.Add("bgcolor", "#008A23"); tcHeader[1].Text = "身份证号码"; tcHeader.Add(new TableHeaderCell()); tcHeader[2].Text = "基本信息"; tcHeader[2].Attributes.Add("bgcolor", "#005EBB"); tcHeader[2].Attributes.Add("colspan", "3"); tcHeader.Add(new TableHeaderCell()); tcHeader[3].Text = "福利"; tcHeader[3].Attributes.Add("bgcolor", "#008A23"); tcHeader[3].Attributes.Add("colspan", "2"); tcHeader.Add(new TableHeaderCell()); tcHeader[4].Text = "应发合计"; tcHeader[4].Attributes.Add("bgcolor", "#008A23"); tcHeader.Add(new TableHeaderCell()); tcHeader[5].Text = "联系方式</tr><tr>"; tcHeader[5].Attributes.Add("bgcolor", "#005EBB"); tcHeader[5].Attributes.Add("colspan", "2"); //第三行表头 tcHeader.Add(new TableHeaderCell()); tcHeader[6].Text = "身份证号码"; tcHeader.Add(new TableHeaderCell()); tcHeader[7].Text = "姓名"; tcHeader.Add(new TableHeaderCell()); tcHeader[8].Text = "出生日期"; tcHeader.Add(new TableHeaderCell()); tcHeader[9].Text = "性别"; tcHeader.Add(new TableHeaderCell()); tcHeader[10].Text = "基本工资"; tcHeader.Add(new TableHeaderCell()); tcHeader[11].Text = "奖金"; tcHeader.Add(new TableHeaderCell()); tcHeader[12].Text = "应发合计"; tcHeader.Add(new TableHeaderCell()); tcHeader[13].Text = "家庭住址"; tcHeader.Add(new TableHeaderCell()); tcHeader[14].Text = "邮政编码"; break; //数据行 内容自适应 不换行 case DataControlRowType.DataRow: TableCellCollection cells1 = e.Row.Cells; for (int i = 0; i < cells1.Count; i++) { cells1[i].Wrap = false; //设置此项切记 不要设置前台GridView宽度 } break; } } //创建DataTable protected DataTable CreateDT() { DataTable tblDatas = new DataTable("Datas"); //序号列 //tblDatas.Columns.Add("ID", Type.GetType("System.Int32")); //tblDatas.Columns[0].AutoIncrement = true; //tblDatas.Columns[0].AutoIncrementSeed = 1; //tblDatas.Columns[0].AutoIncrementStep = 1; //数据列 tblDatas.Columns.Add("身份证号码", Type.GetType("System.String")); tblDatas.Columns.Add("姓名", Type.GetType("System.String")); tblDatas.Columns.Add("出生日期", Type.GetType("System.String")); tblDatas.Columns.Add("性别", Type.GetType("System.String")); tblDatas.Columns.Add("基本工资", Type.GetType("System.Decimal")); tblDatas.Columns.Add("奖金", Type.GetType("System.Decimal")); //统计列开始 tblDatas.Columns.Add("应发合计", Type.GetType("System.String"), "基本工资+奖金"); //统计列结束 tblDatas.Columns.Add("家庭住址", Type.GetType("System.String")); tblDatas.Columns.Add("邮政编码", Type.GetType("System.String")); tblDatas.Rows.Add(new object[] { null, "张三", "1982", "0", 3000, 1000, null, "深圳市", "518000" }); tblDatas.Rows.Add(new object[] { null, "李四", "1983", "1", 3500, 1200, null, "深圳市", "518000" }); tblDatas.Rows.Add(new object[] { null, "王五", "1984", "1", 4000, 1300, null, "深圳市", "518000" }); tblDatas.Rows.Add(new object[] { null, "赵六", "1985", "0", 5000, 1400, null, "深圳市", "518000" }); tblDatas.Rows.Add(new object[] { null, "牛七", "1986", "1", 6000, 1500, null, "深圳市", "518000" }); return tblDatas; } //转换DataTable中的数据 用于逻辑处理相应的数据 显示 protected DataTable FormatDT() { DataTable dt1 = CreateDT(); //容错处理 用于不确定 自动产生的列 if (dt1.Columns.Contains("性别")) { foreach (DataRow dr in dt1.Rows) { dr["性别"] = (dr["性别"].ToString() == "0") ? "女" : "男"; } } return dt1; }