永发信息网

怎么在TableView中动态设置表头和添加新行

答案:1  悬赏:80  手机版
解决时间 2021-02-12 17:10
怎么在TableView中动态设置表头和添加新行
最佳答案
您好,您这样:
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;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
【小风力发电机】风力发电机一般最小多大?最
二次元和cosplay是同一性质的
磁县与河南滑县有多少公里
求寄秋 典心 于晴 古灵 古凌 羽昕 楼雨晴 艾
狗狗是养博美好还是马尔济斯好?
禄远汽车修配厂地址在什么地方,想过去办事
寻类似 靡宝的流年。爱 、 爱如指间沙的书~急
甘氏高峰柠檬鸭地址有知道的么?有点事想过去
跪求饭店名称!!!
电容麦djmusic这个牌子好吗?
旅程二手车地址在什么地方,我要处理点事
赤壁中无双战场西凉缭乱在哪个地方啊?
人体缺乏维生素C时易患BA. 夜盲症B. 坏血病C.
文放苏东坡坛子肉地址在什么地方,想过去办事
我拉不下面子去发传单怎么办
推荐资讯
中国联通(五里口乡营业厅)地址在什么地方,我
如何将一封邮件发送给多个人呢?
4.75÷62.5竖式计算并验算
18等于几加几加几
c语言中,a[10:0] 表示什么? 是数组a 的0到1
填空题一种产品的年产量情况是:第一年为a件
合肥产品条形码申请流程,办理步骤是怎样的
南平大桥到香洲客运站坐几路公交车
好运来金银首饰加工店地址好找么,我有些事要
才确认关系要不要告诉我朋友
读“地球自转示意图”,图中阴影表示黑夜,完
龙轩门业地址在哪,我要去那里办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?