如果一条记录是从另一条记录生成的,如何在aspxgridview中进行检查

本文关键字:一条 记录 进行检查 aspxgridview 如果 | 更新日期: 2023-09-27 18:29:09

我有一个网格,它包含与其表相同的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         

操作字段用于执行退款、捕获或作废交易。无论何时作废、退款或捕获新创建的行。现在如何从创建第四行的位置获取和删除第三行的操作字段。我正在检查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";
                    }
                }

但它不起作用,在我做退款或无效。

如果一条记录是从另一条记录生成的,如何在aspxgridview中进行检查

我仍然不确定我是否理解您想要实现的目标,但是。。。。

我认为你在努力做什么。

你的例子有3行?

用户点击";"无效";在第3排?

然后创建第4行?

您现在希望删除";捕获";以及";"无效";第3行的按钮?

您应该以某种方式将该行标记为已退款。例如,将类型设置为";"退款";或";"作废";然后使用其可见属性隐藏此类型的按钮