【发布时间】:2014-07-02 12:28:23
【问题描述】:
我试图在 asp.net c# 中向 gridview 显示一个表。使用 SQL 数据源。 在页脚,成功显示每列的总数。我想要做的是,我想添加另一个页脚,比如说.. 每列的平均值。
我该怎么做?请指教。 谢谢。
以下是我当前的代码:
ASPX 页面:
<asp:GridView runat="server" ID="gvGrid" AutoGenerateColumns="False" GridLines="None" PageSize="27" ShowFooter="true" DataKeyNames="ID" DataSourceID="myDataSource">
<Columns>
<asp:BoundField DataField="Time" HeaderText="Time" SortExpression="OperationTime" HeaderStyle-ForeColor="Green" />
<asp:BoundField DataField="Number1" HeaderText="Number1" SortExpression="Number1" />
<asp:BoundField DataField="Number2" HeaderText="Number2" SortExpression="Number2" />
<asp:BoundField DataField="Number3" HeaderText="Number3" SortExpression="Number3" />
<asp:BoundField DataField="Number4" HeaderText="Number4" SortExpression="Number4" />
<asp:BoundField DataField="Number5" HeaderText="Number5" SortExpression="Number5" />
</Columns>
<FooterStyle Font-Bold="true" />
</asp:GridView>
<asp:SqlDataSource ID="myDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:myConn %>" SelectCommand="_spShowList" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:ControlParameter ControlID="txtDate" Name="Date" PropertyName="Text" Type="DateTime" />
</SelectParameters>
</asp:SqlDataSource>
背后的代码:
protected void LoadSummary()
{
SqlConnection conConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["myConn"].ConnectionString);
SqlCommand cmdLoadUnit = new SqlCommand();
cmdLoadUnit.CommandType = CommandType.StoredProcedure;
cmdLoadUnit.CommandText = "_spSUMReport";
cmdLoadUnit.Parameters.AddWithValue("@Date", txtDate.Text);
cmdLoadUnit.Connection = conConnection;
try
{
conConnection.Open();
using (SqlDataReader myReader = cmdLoadUnit.ExecuteReader())
{
while (myReader.Read())
{
gvGrid.Columns[0].FooterText = "Total";
gvGrid.Columns[1].FooterText = String.Format(CultureInfo.InvariantCulture, "{0:0,0.0}", myReader["Number1"]);
gvGrid.Columns[2].FooterText = String.Format(CultureInfo.InvariantCulture, "{0:0,0.0}", myReader["Number2"]);
gvGrid.Columns[3].FooterText = String.Format(CultureInfo.InvariantCulture, "{0:0,0.0}", myReader["Number3"]);
gvGrid.Columns[4].FooterText = String.Format(CultureInfo.InvariantCulture, "{0:0,0.0}", myReader["Number4"]);
gvGrid.Columns[5].FooterText = String.Format(CultureInfo.InvariantCulture, "{0:0,0.0}", myReader["Number5"]);
}
}
}
finally
{
conConnection.Close();
}
}
然后我将 LoadSummary() 放在 page_Load 事件中。
【问题讨论】: