GridView中设置跨行

protected void GridView1_DataBound(object sender, EventArgs e) { settingRow(this.GridView1, 0); settingRow(this.GridView1, 1); settingRow(this.GridView1, 2); settingRow(this.GridView1, 3); settingRow(this.GridView1, 4); } public void settingRow(GridView gv,int cellsNum) { int i = 0, rowSpanNum = 1; //循环当前GridView中的所有行 while(i<gv.Rows.Count-1){ //获得一行数据 GridViewRow gvr = gv.Rows[i]; //循环当前GridView中的所有行 for (++i;i<gv.Rows.Count; i++) { //获得需要比较的一行数据 GridViewRow gvrNext = gv.Rows[i]; string gvrText = (gvr.Cells[cellsNum].FindControl("lbl"+cellsNum.ToString()) as Label).Text; string gvrNextText = (gvrNext.Cells[cellsNum].FindControl("lbl"+cellsNum.ToString()) as Label).Text; //比较,如果相等则合并 // if (gvr.Cells[cellsNum].Text == gvrNext.Cells[cellsNum].Text) if(gvrText==gvrNextText) { gvrNext.Cells[cellsNum].Visible = false; rowSpanNum++; } else { gvr.Cells[cellsNum].RowSpan = rowSpanNum; rowSpanNum = 1; break; } //如果相等则合并一整行 if(i==gv.Rows.Count-1){ gvr.Cells[cellsNum].RowSpan = rowSpanNum; } } } protected void GridView1_DataBound(object sender, EventArgs e) { //要合并的行数 int rowSpan = 1; //要 int rowIndex = 0; //保存上一个值 string code = null; //标签 bool check = true; //循环 for (int i = 0; i < this.GridView1.Rows.Count; i++) { //取出要比较的值 string txt = this.GridView1.Rows[i].Cells[1].Text; //比较值 if (code != txt) { //不想等就保存下来 code = txt; //值是否相等 if (check) { rowIndex = i; } else { //重新把标签设置为false check = true; //设置要快的行 this.GridView1.Rows[rowIndex].Cells[1].RowSpan = rowSpan; //把行数设置默认值 rowSpan = 1; } } else { //值相等就设置标签true check = false; //把当前单元格隐长 this.GridView1.Rows[i].Cells[1].Visible = false; //跨几行 rowSpan++; //判断是否是最后一行 if (i + 1 == this.GridView1.Rows.Count) { this.GridView1.Rows[rowIndex].Cells[1].RowSpan = rowSpan; } } } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值