[英]Adding a row at the bottom of the gridview programmatically in c#?
我想在我的gridview的末尾添加一行,到目前為止,它有5列。 最后一行將代表每列值的總和。 我怎樣才能做到這一點 ? 這是我到目前為止嘗試過的。我的行將具有值提名數量,分配數量,容量,臨時使用,設置
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Country", "KENYATEST");
cmd.Connection = con;
sda.SelectCommand = cmd;
using (dt = new DataTable())
{
sda.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
allocatedsum += Convert.ToInt32(dr["AllocatedQuantity"]);
nominatedsum += Convert.ToInt32(dr["NominatedQuantity"]);
volume += Convert.ToDouble(dr["Volume"]);
ProvisionalUSD += Convert.ToInt32(dr["ProvisionalUSD"]);
ProvisionalKES += Convert.ToInt32(dr["ProvisionalKES"]);
}
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
你快到了。 您需要做的就是用總值創建一個新行並將其添加到數據表中,然后再用它填充gridview。
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Country", "KENYATEST");
cmd.Connection = con;
sda.SelectCommand = cmd;
using (dt = new DataTable())
{
sda.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
allocatedsum += Convert.ToInt32(dr["AllocatedQuantity"]);
nominatedsum += Convert.ToInt32(dr["NominatedQuantity"]);
volume += Convert.ToDouble(dr["Volume"]);
ProvisionalUSD += Convert.ToInt32(dr["ProvisionalUSD"]);
ProvisionalKES += Convert.ToInt32(dr["ProvisionalKES"]);
}
//Create a row for totals over here
DataRow totalRow = dt.NewRow();
//Then set the total values inside this row
totalRow["ColumnName"] = "Column Total"; //for each column
dt.Rows.Add(totalRow); //finally add the new row to your dource datatable
GridView1.DataSource = dt;
GridView1.DataBind();
}
} }
只需在添加dt到數據源之前添加它即可。
DataRow totalRow = dt.NewRow();
totalRow["ColumnName"] = "Column Total";
dt.Rows.Add(totalRow);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.