public static void Gridview_RowSpan(System.Web.UI.WebControls.GridView gv)
{
//合并单元格
for (int i = 0; i < gv.Rows.Count - 1; i++)
{
int colnum = 1;
int j;
for (j = i + 1; j < gv.Rows.Count; j++)
{
if (gv.Rows[i].Cells[0].Text == gv.Rows[j].Cells[0].Text)
{
colnum++;
gv.Rows[i].Cells[0].RowSpan = colnum;
gv.Rows[j].Cells[0].Visible = false;
gv.Rows[i].Cells[1].RowSpan = colnum;
gv.Rows[j].Cells[1].Visible = false;
gv.Rows[i].Cells[2].RowSpan = colnum;
gv.Rows[j].Cells[2].Visible = false;
gv.Rows[i].Cells[3].RowSpan = colnum;
gv.Rows[j].Cells[3].Visible = false;
gv.Rows[i].Cells[4].RowSpan = colnum;
gv.Rows[j].Cells[4].Visible = false;
gv.Rows[i].Cells[5].RowSpan = colnum;
gv.Rows[j].Cells[5].Visible = false;
gv.Rows[i].Cells[6].RowSpan = colnum;
gv.Rows[j].Cells[6].Visible = false;
gv.Rows[i].Cells[7].RowSpan = colnum;
gv.Rows[j].Cells[7].Visible = false;
gv.Rows[i].Cells[8].RowSpan = colnum;
gv.Rows[j].Cells[8].Visible = false;
}
else
break;
}
i = j - 1;
}用上面的函数合并内容相同的
但是如果分页时就无法合并了,得怎么实现的
{
//合并单元格
for (int i = 0; i < gv.Rows.Count - 1; i++)
{
int colnum = 1;
int j;
for (j = i + 1; j < gv.Rows.Count; j++)
{
if (gv.Rows[i].Cells[0].Text == gv.Rows[j].Cells[0].Text)
{
colnum++;
gv.Rows[i].Cells[0].RowSpan = colnum;
gv.Rows[j].Cells[0].Visible = false;
gv.Rows[i].Cells[1].RowSpan = colnum;
gv.Rows[j].Cells[1].Visible = false;
gv.Rows[i].Cells[2].RowSpan = colnum;
gv.Rows[j].Cells[2].Visible = false;
gv.Rows[i].Cells[3].RowSpan = colnum;
gv.Rows[j].Cells[3].Visible = false;
gv.Rows[i].Cells[4].RowSpan = colnum;
gv.Rows[j].Cells[4].Visible = false;
gv.Rows[i].Cells[5].RowSpan = colnum;
gv.Rows[j].Cells[5].Visible = false;
gv.Rows[i].Cells[6].RowSpan = colnum;
gv.Rows[j].Cells[6].Visible = false;
gv.Rows[i].Cells[7].RowSpan = colnum;
gv.Rows[j].Cells[7].Visible = false;
gv.Rows[i].Cells[8].RowSpan = colnum;
gv.Rows[j].Cells[8].Visible = false;
}
else
break;
}
i = j - 1;
}用上面的函数合并内容相同的
但是如果分页时就无法合并了,得怎么实现的
<Columns>
<asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" ReadOnly="True"
SortExpression="id" />
<asp:BoundField DataField="model_name" HeaderText="model_name" SortExpression="model_name" />
<asp:BoundField DataField="products" HeaderText="products" SortExpression="products" />
<asp:BoundField DataField="model_num" HeaderText="model_num" SortExpression="model_num" />
<asp:BoundField DataField="stage" HeaderText="stage" SortExpression="stage" />
<asp:BoundField DataField="stage_unit" HeaderText="stage_unit" SortExpression="stage_unit" />
<asp:BoundField DataField="customer" HeaderText="customer" SortExpression="customer" />
<asp:BoundField DataField="loop_changer" HeaderText="loop_changer" SortExpression="loop_changer" />
<asp:BoundField DataField="set_changer" HeaderText="set_changer" SortExpression="set_changer" />
<asp:BoundField DataField="matrial_changer" HeaderText="matrial_changer" SortExpression="matrial_changer" />
<asp:BoundField DataField="main_changer" HeaderText="main_changer" SortExpression="main_changer" />
<asp:BoundField DataField="tech_changer" HeaderText="tech_changer" SortExpression="tech_changer" />
<asp:BoundField DataField="update_empno" HeaderText="update_empno" SortExpression="update_empno" />
<asp:BoundField DataField="update_time" HeaderText="update_time" SortExpression="update_time" />
<asp:BoundField DataField="write_date" HeaderText="write_date" SortExpression="write_date" />
<asp:BoundField DataField="jip_date" HeaderText="jip_date" SortExpression="jip_date" />
<asp:BoundField DataField="pl_date" HeaderText="pl_date" SortExpression="pl_date" />
<asp:BoundField DataField="pcb_date" HeaderText="pcb_date" SortExpression="pcb_date" />
<asp:BoundField DataField="spl_date" HeaderText="spl_date" SortExpression="spl_date" />
<asp:BoundField DataField="smt_date" HeaderText="smt_date" SortExpression="smt_date" />
<asp:BoundField DataField="ft1_date" HeaderText="ft1_date" SortExpression="ft1_date" />
<asp:BoundField DataField="bi_date" HeaderText="bi_date" SortExpression="bi_date" />
<asp:BoundField DataField="ft2_date" HeaderText="ft2_date" SortExpression="ft2_date" />
<asp:BoundField DataField="oqc_date" HeaderText="oqc_date" SortExpression="oqc_date" />
<asp:BoundField DataField="dr_date" HeaderText="dr_date" SortExpression="dr_date" />
<asp:BoundField DataField="finish_date" HeaderText="finish_date" SortExpression="finish_date" />
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" OldValuesParameterFormatString="original_{0}"
SelectMethod="GetDataByView" TypeName="infoTableAdapters.JZ_INFOTableAdapter"></asp:ObjectDataSource>
后台using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class main : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ // bind();
Gridview_RowSpan(GridView1); }
public static void Gridview_RowSpan(System.Web.UI.WebControls.GridView gv)
{
//合并单元格
for (int i = 0; i < gv.Rows.Count - 1; i++)
{
int colnum = 1;
int j;
for (j = i + 1; j < gv.Rows.Count; j++)
{
if (gv.Rows[i].Cells[0].Text == gv.Rows[j].Cells[0].Text)
{
colnum++;
gv.Rows[i].Cells[0].RowSpan = colnum;
gv.Rows[j].Cells[0].Visible = false;
gv.Rows[i].Cells[1].RowSpan = colnum;
gv.Rows[j].Cells[1].Visible = false;
gv.Rows[i].Cells[2].RowSpan = colnum;
gv.Rows[j].Cells[2].Visible = false;
gv.Rows[i].Cells[3].RowSpan = colnum;
gv.Rows[j].Cells[3].Visible = false;
gv.Rows[i].Cells[4].RowSpan = colnum;
gv.Rows[j].Cells[4].Visible = false;
gv.Rows[i].Cells[5].RowSpan = colnum;
gv.Rows[j].Cells[5].Visible = false;
gv.Rows[i].Cells[6].RowSpan = colnum;
gv.Rows[j].Cells[6].Visible = false;
gv.Rows[i].Cells[7].RowSpan = colnum;
gv.Rows[j].Cells[7].Visible = false;
gv.Rows[i].Cells[8].RowSpan = colnum;
gv.Rows[j].Cells[8].Visible = false;
}
else
break;
}
i = j - 1;
}
}}
接着要实现分页得怎么写的
这个问题其实很简单,道理是一样的
用datatable作为数据源就可以了啊
这样其他的分页代码都不用改的