2014-01-08 83 views
0

有谁知道如何做到这一点。我GOOGLE了它,但它是2010年的老教程视频,似乎并没有匹配正确的指示如何做到这一点。我使用的是2012. 我想添加一个复制按钮,然后点击一个记录,点击复制,并添加一个新记录,其中默认值为您选择的值。在lightswitch中将一条记录复制到另一条记录

回答

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 
+0

非常感谢。只是想知道如何将相关销售人员复制到井中,例如具有多对多关系的井。好 - > wellalesjunction - >销售表。其中交界处包括wellid和salesid和销售表包括id,销售名称,姓氏等......我使用C#btw – Sirus

+0

@Sirus我不知道我完全理解表关系。提出另一个问题并更详细地说明表格可能会更好。可以在Lightswitch中或在T-SQL'create'语句中使用表格的图片。 –

相关问题