C# · 12月 23, 2021

c# – 显示GridView的页脚总数,并在最后一列中添加列(行虎钳)

在我的 Asp.net应用程序中,我有一个GridView,我自己使用后面的代码生成列[6]的数据.

通过查看下面的代码,我有一个我的gridview的页脚.而问题是我的文本列[6]将不会出现,如果我使用页脚.
如果我删除页脚代码,那么我的文本列[6]出现.问题是什么?两个代码都不能使用togather?我已经设置ShowFooter =“True”

protected void Page_Load(object sender,EventArgs e){ for (int i = 0; i < (this.GridView1.Rows.Count); i++) { this.GridView1.Rows[i].Cells[6].Text = “testing”; //GridView1.Columns[1].FooterText =”footer 1″; }}

的.aspx

<asp:GridView ID=”GridView1″ runat=”server” DataSourceID=”sqlDataSource1″ AutoGenerateColumns=”False” DataKeyNames=”ID” CellPadding=”4″ ForeColor=”#333333″ GridLines=”None” ShowFooter=”True” onrowdatabound=”GridView1_RowDataBound”> <RowStyle BackColor=”#EFF3FB” /> <Columns> <asp:BoundField datafield=”reportDate” HeaderText=”Report Date” dataformatstring=”{0:dd MMMM yyyy}” SortExpression=”reportDate” /> <asp:BoundField datafield=”sponsorBonus” HeaderText=”Sponsor Bonus” dataformatstring=”{0:0.00}” SortExpression=”sponsorBonus” HtmlEncode=”False” /> <asp:BoundField datafield=”pairingBonus” HeaderText=”Pairing Bonus” HtmlEncode=”False” SortExpression=”pairingBonus” dataformatstring=”{0:c}” /> <asp:BoundField datafield=”staticBonus” HeaderText=”Static Bonus” SortExpression=”staticBonus” /> <asp:BoundField datafield=”leftBonus” HeaderText=”Left Bonus” SortExpression=”leftBonus” /> <asp:BoundField datafield=”rightBonus” HeaderText=”Right Bonus” SortExpression=”rightBonus” /> <asp:BoundField HeaderText=”Total” SortExpression=”total” > <ItemStyle Width=”100px” /> </asp:BoundField> </Columns> <FooterStyle BackColor=”#507CD1″ Font-Bold=”True” ForeColor=”White” /> <PagerStyle BackColor=”#2461BF” ForeColor=”White” HorizontalAlign=”Center” /> <SelectedRowStyle BackColor=”#D1DDF1″ Font-Bold=”True” ForeColor=”#333333″ /> <HeaderStyle BackColor=”#507CD1″ Font-Bold=”True” ForeColor=”White” /> <EditRowStyle BackColor=”#2461BF” /> <AlternatingRowStyle BackColor=”White” /> </asp:GridView>解决方法 示例代码:以编程方式设置页脚文本 protected void GridView1_RowDataBound(object sender,GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.Footer) { Label lbl = (Label)e.Row.FindControl(“lblTotal”); lbl.Text = GrdTotal.ToString(“c”); } }

更新代码:

decimal sumFooterValue = 0; protected void GridView1_RowDataBound(object sender,GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DaTarow) { string sponsorBonus = ((Label)e.Row.FindControl(“Label2”)).Text; string pairingBonus = ((Label)e.Row.FindControl(“Label3”)).Text; string staticBonus = ((Label)e.Row.FindControl(“Label4”)).Text; string leftBonus = ((Label)e.Row.FindControl(“Label5”)).Text; string rightBonus = ((Label)e.Row.FindControl(“Label6”)).Text; decimal totalvalue = Convert.ToDecimal(sponsorBonus) + Convert.ToDecimal(pairingBonus) + Convert.ToDecimal(staticBonus) + Convert.ToDecimal(leftBonus) + Convert.ToDecimal(rightBonus); e.Row.Cells[6].Text = totalvalue.ToString(); sumFooterValue += totalvalue } if (e.Row.RowType == DataControlRowType.Footer) { Label lbl = (Label)e.Row.FindControl(“lblTotal”); lbl.Text = sumFooterValue.ToString(); } }

在.aspx页面

<asp:GridView ID=”GridView1″ runat=”server” DataSourceID=”sqlDataSource1″ AutoGenerateColumns=”False” DataKeyNames=”ID” CellPadding=”4″ ForeColor=”#333333″ GridLines=”None” ShowFooter=”True” onrowdatabound=”GridView1_RowDataBound”> <RowStyle BackColor=”#EFF3FB” /> <Columns> <asp:TemplateField HeaderText=”Report Date” SortExpression=”reportDate”> <EditItemTemplate> <asp:Text@R_993_2419@ ID=”Text@R_993_2419@1″ runat=”server” Text='<%# Bind(“reportDate”) %>’></asp:Text@R_993_2419@> </EditItemTemplate> <ItemTemplate> <asp:Label ID=”Label1″ runat=”server” Text='<%# Bind(“reportDate”,”{0:dd MMMM yyyy}”) %>’></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText=”Sponsor Bonus” SortExpression=”sponsorBonus”> <EditItemTemplate> <asp:Text@R_993_2419@ ID=”Text@R_993_2419@2″ runat=”server” Text='<%# Bind(“sponsorBonus”) %>’></asp:Text@R_993_2419@> </EditItemTemplate> <ItemTemplate> <asp:Label ID=”Label2″ runat=”server” Text='<%# Bind(“sponsorBonus”,”{0:0.00}”) %>’></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText=”Pairing Bonus” SortExpression=”pairingBonus”> <EditItemTemplate> <asp:Text@R_993_2419@ ID=”Text@R_993_2419@3″ runat=”server” Text='<%# Bind(“pairingBonus”) %>’></asp:Text@R_993_2419@> </EditItemTemplate> <ItemTemplate> <asp:Label ID=”Label3″ runat=”server” Text='<%# Bind(“pairingBonus”,”{0:c}”) %>’></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText=”Static Bonus” SortExpression=”staticBonus”> <EditItemTemplate> <asp:Text@R_993_2419@ ID=”Text@R_993_2419@4″ runat=”server” Text='<%# Bind(“staticBonus”) %>’></asp:Text@R_993_2419@> </EditItemTemplate> <ItemTemplate> <asp:Label ID=”Label4″ runat=”server” Text='<%# Bind(“staticBonus”) %>’></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText=”Left Bonus” SortExpression=”leftBonus”> <EditItemTemplate> <asp:Text@R_993_2419@ ID=”Text@R_993_2419@5″ runat=”server” Text='<%# Bind(“leftBonus”) %>’></asp:Text@R_993_2419@> </EditItemTemplate> <ItemTemplate> <asp:Label ID=”Label5″ runat=”server” Text='<%# Bind(“leftBonus”) %>’></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText=”Right Bonus” SortExpression=”rightBonus”> <EditItemTemplate> <asp:Text@R_993_2419@ ID=”Text@R_993_2419@6″ runat=”server” Text='<%# Bind(“rightBonus”) %>’></asp:Text@R_993_2419@> </EditItemTemplate> <ItemTemplate> <asp:Label ID=”Label6″ runat=”server” Text='<%# Bind(“rightBonus”) %>’></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText=”Total” SortExpression=”total”> <EditItemTemplate> <asp:Text@R_993_2419@ ID=”Text@R_993_2419@7″ runat=”server”></asp:Text@R_993_2419@> </EditItemTemplate> <FooterTemplate> <asp:Label ID=”lbltotal” runat=”server” Text=”Label”></asp:Label> </FooterTemplate> <ItemTemplate> <asp:Label ID=”Label7″ runat=”server”></asp:Label> </ItemTemplate> <ItemStyle Width=”100px” /> </asp:TemplateField> </Columns> <FooterStyle BackColor=”#507CD1″ Font-Bold=”True” ForeColor=”White” /> <PagerStyle BackColor=”#2461BF” ForeColor=”White” HorizontalAlign=”Center” /> <SelectedRowStyle BackColor=”#D1DDF1″ Font-Bold=”True” ForeColor=”#333333″ /> <HeaderStyle BackColor=”#507CD1″ Font-Bold=”True” ForeColor=”White” /> <EditRowStyle BackColor=”#2461BF” /> <AlternatingRowStyle BackColor=”White” /> </asp:GridView>

我的博客 – Asp.net Gridview Article