0

リピーター コントロールを使用して、ItemDataBound イベント中に 3 つのアイテムがバインドされているデータを表示します。コードの問題は、リピーターのすべての行に最後のレコードが表示され、既存の値が上書きされることです。これを停止するにはどうすればよいですか? 私はこのようなコードを使用します

.aspx.cs コード

DataSet dsJobCardHistory =new DataSet();
double dcPriceIncl;
double dcPriceExcl; 
double dcTax;

protected void Job_History()
{ 
   dsJobCardHistory = objReportManager.Get_JobCard_History(strCustNo, strTranId);
}

protected void repJobCard_ItemDataBound(object sender, RepeaterItemEventArgs e)
{

  for (int i = 0; i < dsJobCardHistory.Tables[0].Rows.Count;i++)

   {
     dcPriceIncl = Convert.ToDouble(dsJobCardHistory.Tables[0].Rows[i][6].ToString());
     dcTax = dcPriceIncl * 0.14;
     dcPriceExcl = dcPriceIncl - dcTax;

      if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType==
                                ListItemType.AlternatingItem)
       {
            ((Label)e.Item.FindControl("lblRepPrice")).Text = 
             Convert.ToString(dcPriceExcl);
            ((Label)e.Item.FindControl("lblRepTax")).Text = 
             Convert.ToString(dcTax);
            ((Label)e.Item.FindControl("lblRepTotal")).Text = 
              Convert.ToString(dcPriceIncl);
       }                
    }

}

.aspx コード

<asp:Repeater ID="repJobCard" runat="server" onitemdatabound="repJobCard_ItemDataBound">
     <td align="center" width="15%">                                   
          <font style="font-size:14px">
               <strong>
                   <asp:Label ID="lblRepPrice" runat="server" Text="">
                   </asp:Label>
               </strong>
          </font>
    </td>
    <td align="center" width="15%">                                   
        <font style="font-size:14px">
            <strong>
               <asp:Label ID="lblRepTax" runat="server" Text="">
               </asp:Label>
            </strong>
        </font>
    </td>
    <td align="center" width="15%">                                   
        <font style="font-size:14px">
              <strong>
                  <asp:Label ID="lblRepTotal" runat="server" Text="">
                  </asp:Label>
              </strong>
        </font>
   </td>
4

1 に答える 1