![](/img/trans.png)
[英]System.ArgumentOutOfRangeException: 'Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index'
[英]System.ArgumentOutOfRangeException: 'Index was out of range. Must be non-negative and less than the size of the collection.'
protected void getSUM()
{
// SQL query that gets total of product sales where category id = 1
string SqlQuery = @"SELECT Price AS TotalSales
FROM STOCK
WHERE Barcode = '" + TextBox1 + "'";
// Declare and open a connection to database
sqlcon.Open();
// Creates SqlCommand object
SqlCommand comm = new SqlCommand(SqlQuery, sqlcon);
// Gets total sales
decimal TotalSales = Convert.ToDecimal(comm.ExecuteScalar());
// Close connection
sqlcon.Close();
// Adds formatted output to GridView footer
GridView1.Columns[3].FooterText = String.Format("{0:c}", TotalSales);
}
我只想在gridview的页脚添加价格。 我不明白怎么了。 该行中的错误是GridView1.Columns [3] .FooterText = String.Format(“ {0:c}”,TotalSales);
您可能在GridView中使用了AutoGenerateColumns="true"
。 使用此方法时,您只能访问RowCreated
和RowDataBound
事件中的列。 网格构建完成后,列数将为0。
更好地使用TemplateFields。 这样您将拥有更多的控制权。
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<%# Eval("myColumn") %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
现在GridView1.Columns.Count
将返回1
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.