2017-02-17 3 views
0

Я хотел бы добавить строку в конце моего gridview, которая имеет 5 столбцов. Конечная строка будет представлять общее количество значений каждого столбца. Как я могу это сделать ? Это то, что я попытался так far..My строка будет иметь значения nominatedquantity, allocatedquantity, volumne, provisionalusd, provisionalkesДобавление строки в нижней части gridview программно в C#?

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(); 
    }         
} 
+0

Я могу видеть ваши делают всего столбцам в цикле Еогеасп. какова ваша проблема? – user7417866

+0

@ user7417866: - Как я могу добавить общее количество для каждого столбца в gridview? –

+0

https://msdn.microsoft.com/en-us/library/5ycd1034.aspx это похоже на то, что вы могли бы найти в googled – BugFinder

ответ

1

Вы почти там. Все, что вам нужно сделать, это создать новую строку с полными значениями и добавить ее в таблицу данных, прежде чем вы заполняете ее 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(); 
      } 
} } 
0

Просто добавьте это, прежде чем назначить DT на свой источник данных ...

DataRow totalRow = dt.NewRow(); 
       totalRow["ColumnName"] = "Column Total"; 
       dt.Rows.Add(totalRow); 
Смежные вопросы