2013-05-29 4 views
0

Я ищу, чтобы добавить строку к каждому из местоположений, как показано на рисунке ниже. Строка отображает итоговые значения каждого столбца. Я уже рассчитал эти значения (<% = owetotal%>, <% = paidtotal%>, <% = origtotal%>) просто нужно, чтобы они были помещены в нужное место, и я не могу отформатировать его так, как хочу ,Добавить строку для итогов в конце каждой таблицы

В настоящее время это выглядит следующим образом:

enter image description here

Я хочу, чтобы выглядеть следующим образом:

enter image description here

Мои ASPX страницу

<form id="form1" runat="server"> 
<div class="container"> 
    <div class="page-header"> 
     <h1> 
      Report</h1> 
     <br /> 
     <div class="row"> 
      <div class="span11"> 
       <% 
        System.Data.OleDb.OleDbConnection pcn; 
        System.Data.OleDb.OleDbCommand pcm; 
        System.Data.OleDb.OleDbDataReader prs; 
        pcn = new System.Data.OleDb.OleDbConnection(""); 
        pcm = new System.Data.OleDb.OleDbCommand(); 
        pcn.Open(); 
        pcm.Connection = pcn; 

        var tableSql = @"SELECT * FROM Accounts"; 

        pcm.CommandText = tableSql; 
        prs = pcm.ExecuteReader(); 
        var rowcount = 0; 
        var CurrentLocation = ""; 
        while (prs.Read()) 
        { 
         rowcount++; 

       %> 
       <% if (prs["Location"].ToString() != CurrentLocation) 
        { %> 
       <table width="100%" class="table"> 
        <thead> 
         <tr> 
          <th> 
           Name 
          </th> 
          <th> 
           Owes 
          </th> 
          <th> 
           Paid 
          </th> 
          <th> 
           Original Amt 
          </th> 
          <th> 
           Date 
          </th> 
         </tr> 
        </thead> 

        <h4> 
         <%= prs["Location"].ToString()%></h4> 

        <% 
         CurrentBranch = prs["Loction"].ToString(); 
        } %> 
        <tr> 
         <td> 
          <%= prs["Name"].ToString() %> 
         </td> 
         <td> 
          $<%= prs["Owes"].ToString() %> 
         </td> 
         <td> 
          $<%= prs["Paid"].ToString() %> 
         </td> 
         <td> 
          $<%= prs["OrigAmt"].ToString() %> 
         </td> 
         <td> 
          <%= Convert.ToDateTime(prs["SubmitDate"].ToString()).ToShortDateString() %> 
         </td> 

        </tr> 
        <% 
         } 
        prs.Close(); 
        pcn.Close(); 
        %> 
       </table> 
      </div> 
     </div> 
    </div> 
</div> 
</form> 
+2

Любая конкретная причина, по которой вы вставляете весь код для этого на странице aspx? Обычно, когда я вижу это, это плохая идея ... –

+0

Согласен. Я бы предложил поместить весь код asp в файл .cs и с помощью элемента управления, такого как GridView, для отображения данных. –

+0

Это небольшой отчет только для двух человек, и это был единственный способ, которым я знал, как это сделать, где он будет выделяться по местоположению. Я не хотел делать четыре разных gridviews (возможно, есть способ, которым не нужно). – techora

ответ

0

В вашем SQL заявление , добавьте

UNION SELECT 'Totals', sum(Owes), sum (Paid), sum(OrigAmt), '' FROM Accounts 
+0

Я знаю, как получить итоговые данные, которые я просто не знаю, как разместить их под каждой таблицей. – techora

0

Вы бы сделали это в обработчике Page_Load в контроллере. Добавьте новую строку в каждую таблицу и поместите туда свои общие значения. И напишите smth об этом:

foreach(var column in table.Columns) 
{ 
    foreach(var field in column) 
    { 
     //check if it isn't last row 
     //write the sum of (0..n-1) fields to lsat field in column 
    } 
} 
Смежные вопросы