有谁知道如何做到这一点。我用谷歌搜索了它,但它是 2010 年的旧教程视频,似乎与如何操作的正确说明不匹配。我正在使用 2012。我想添加一个复制按钮,然后单击一条记录,单击复制并让它添加一条新记录,其默认值来自您选择的记录。
问问题
1827 次
1 回答
0
在我的应用程序中,我跟踪销售报价。我有能力对报价进行修改。为此,我有一个按钮来创建一个新的修订,该修订从复制以前的修订开始。
你没有提到你使用的是哪种语言。我使用的是 VB.NET,但大部分代码都是非常简单的东西,只是声明和赋值,所以你应该能够很容易地将它翻译成 C#。将关键字替换为Me
,this
您就大功告成了。
在我的按钮_Execute()
代码中,我首先制作要复制的记录的本地副本:
'Create a quote object to hold the quote to be revised
Dim CurrentRev As Quote
CurrentRev = Me.qQuoteByFirm.SelectedItem
然后我在数据库中添加一条新记录:
'Add a new quote entity to the database
Me.qQuoteByFirm.AddNew()
并复制相关信息:
'Copy the necessary relevant values to the new quote
Me.qQuoteByFirm.SelectedItem.QuoteNumber = CurrentRev.QuoteNumber
Me.qQuoteByFirm.SelectedItem.RepFirm = CurrentRev.RepFirm
Me.qQuoteByFirm.SelectedItem.Customer = CurrentRev.Customer
Me.qQuoteByFirm.SelectedItem.QuoteStatus = CurrentRev.QuoteStatus
如果记录中的每个值都是单个值,这将复制当前选定的记录。如果一个值与另一个表有关系并包含多条记录,则需要遍历该值。
例如,以上只是我报价的一般信息。我还与报价行项目表有关系。每个报价都有几个行项目,所有这些都需要复制。所以我需要遍历每个行项目并创建一个副本。
'Duplicate all associate quote line items
For Each item In CurrentRev.QuoteLines
Me.qLineItemsByQuoteID.AddNew()
Me.qLineItemsByQuoteID.SelectedItem.ItemNo = item.ItemNo
Me.qLineItemsByQuoteID.SelectedItem.ProductQty = item.ProductQty
Me.qLineItemsByQuoteID.SelectedItem.Description = item.Description
Me.qLineItemsByQuoteID.SelectedItem.SellPrice = item.SellPrice
Me.qLineItemsByQuoteID.SelectedItem.PartNo = item.PartNo
Next
于 2014-01-09T14:26:18.060 回答