如果从另一个生成记录,如何检查aspxgridview?

时间:2012-03-26 06:58:08

标签: c# asp.net devexpress

我有一个网格,其中包含与其表相同的6个字段,即事务表包含6个字段。该网格包含:

Transactionid
Name
Date
Transactiontype
amount
action 

交易类型可以是销售,如果交易是销售,则授权如果其授权,如果退款则退款,如果其获取则进行后续处理,如果交易无效则进行撤销。这些退款,无效和捕获位于网格的操作字段中,如果交易类型为销售,那么您可以退款,因此在相应的操作字段中您将获得退款操作。现在您退款或获取或取消另一个使用新的事务ID将记录插入到数据库中。

现在我的问题是,当我检查这个新插入的记录时,我无法获得此退款交易是从哪个销售交易完成的。如果有人做了部分退款,那么我必须计算剩余的金额。我不能再将字段添加到我的表中,是否可能这样?

Transaction ID       Name   Trans Date  Type       Amount          Action
qwee1321312          aa bb  03/21/2012  Sale       $14.00      Refund  
adsd231233           aa bb  03/26/2012  Sale       $50.00      Refund  
12312dda             aa bb  03/26/2012  Authorize  $100.00    Capture   Void
                     aa bb  03/26/2012   Void      $100.00         

行动领域是执行退款,捕获或无效转换。每当您取消或退款或捕获创建的新行时。现在如何获取和删除创建第4行的第3行的操作字段。 我正在检查htmlrowcreated事件

 if (type == "Sale")
                {
                    //Checks Amount for sale transaction
                    amount = Convert.ToDecimal(CheckTransaction(Convert.ToInt64(tid), (int)Enums.TransactionType.Refund));
                    if (amount > 0)
                    {
                        lnkaction.Text = "Refund";
                        lnkaction.Attributes.Add("onclick", "javascript:return RefundPopup('" + tid + "','" + Refund1.lblClientID + "','" + amount + "','Refund Sale');");
                    }
                }
                else if (type == "Authorize")
                {
                    //Checks Amount for authorization transaction
                    amount = Convert.ToDecimal(CheckTransaction(Convert.ToInt64(tid), (int)Enums.TransactionType.PostAuthorize));
                    if (amount > 0)
                    {
                        lnkaction.Text = "Capture";
                        lnkaction.Attributes.Add("onClick", "javascript:return RefundPopup('" + tid + "','" + Refund1.lblClientID + "','" + amount + "','Capture Sale');");
                        lnkvoid.Text = "Void";
                    }
                }

但在我退款或无效后,它无效。

1 个答案:

答案 0 :(得分:0)

我仍然不确定我理解你想要实现的目标,但......

  

我认为您正在尝试做什么。

     

您的示例有3行?

     

用户点击第3行的“Void”?

     

然后创建第4行?

     

您现在想要从第3行删除“Capture”和“Void”按钮吗?

您应该以某种方式将行标记为已退款,例如将类型设置为“Refunded”或“Voided”,然后使用其Visible属性隐藏此类型的按钮