我有一个ASP.Net GridView在第一次加载网站时正常工作,但是当我在GridView中更改页面时(我允许分页)不能做正确的事情但是它使用了完全相同的方法 这是我的方法:
protected void grdvProductChurn_DataBound()
{
for (int rowIndex = grdvProductChurn.Rows.Count - 2; rowIndex >= 0; rowIndex += -1)
{
GridViewRow gvRow = grdvProductChurn.Rows[rowIndex];
GridViewRow gvPreviousRow = grdvProductChurn.Rows[rowIndex + 1];
for (int cellCount = 0; cellCount <= gvRow.Cells.Count - 8; cellCount++)
{
if (gvRow.Cells[cellCount].Text == gvPreviousRow.Cells[cellCount].Text)
{
if (gvPreviousRow.Cells[cellCount].RowSpan < 2)
{
gvRow.Cells[cellCount].RowSpan = 2;
}
else
{
gvRow.Cells[cellCount].RowSpan = gvPreviousRow.Cells[cellCount].RowSpan + 1;
}
gvPreviousRow.Cells[cellCount].Visible = false;
}
}
}
那是aspx:
<asp:GridView ID="grdvProductChurn" runat="server" CellPadding="4" HeaderStyle-BorderStyle="None"
BorderColor="#666666" BorderStyle="Solid" AllowPaging="True" AutoGenerateColumns="false" PageSize="30" DataSourceID="DataSource_ProductChurn"
AllowSorting="true" ForeColor="#666666" CellSpacing="1" DataFormatString="{0:###,###,###,###,###}"
CaptionAlign="Left" Width="960px" HeaderStyle-HorizontalAlign="Center" HorizontalAlign="Center" CssClass="GridView2"
Height="119px" >
<Columns>
它的作用:
它应该将行放在一起,这些行具有相同的文本。
但是当我更改网站时,它使用相同的方法,但它不会将行放在一起。
我通过调试发现的:
在第二页上,gvPreviousRow.Cells [cellCount] .Visible从一开始就设置为false。
答案 0 :(得分:0)
我现在解决了它: 所以我在Page_Load中调用了这个方法:
grdvProductChurn_DataBound();
相反,我实际上需要这样称呼它:
grdvProductChurn.DataBound += new EventHandler(grdvProductChurn_DataBound);