Pregunta

Alguien sabe como hacer esto.Lo busqué en Google, pero es un video tutorial antiguo de 2010 y no parece coincidir con las instrucciones adecuadas sobre cómo hacerlo.Estoy usando 2012.Me gustaría agregar un botón de copiar y luego hacer clic en un registro, hacer clic en copiar y hacer que agregue un nuevo registro con los valores predeterminados del que seleccionó.

¿Fue útil?

Solución

En mi aplicación hago un seguimiento de las cotizaciones de ventas.Tengo la capacidad de realizar y mantener revisiones de cotizaciones.Hago esto teniendo un botón para hacer una nueva revisión que comienza copiando la revisión anterior.

No mencionaste qué idioma estabas usando.Estoy usando VB.NET pero la mayor parte del código es muy simple, solo declaraciones y asignaciones, por lo que deberías poder traducirlo a C# muy fácilmente.Reemplazar la palabra clave Me por this y ya has recorrido la mayor parte del camino.

Dentro de mi botón _Execute() código, primero hago una copia local del registro que se va a copiar:

'Create a quote object to hold the quote to be revised
Dim CurrentRev As Quote
CurrentRev = Me.qQuoteByFirm.SelectedItem

Luego agrego un nuevo registro a la base de datos:

'Add a new quote entity to the database
Me.qQuoteByFirm.AddNew()

Y copie la información relevante:

'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

Eso hará una copia del registro seleccionado actualmente si cada valor en el registro es un valor único.Si un valor tiene una relación con otra tabla y contiene varios registros, deberá recorrer ese valor.

Por ejemplo, lo anterior es sólo la información general de mi cotización.También tengo una relación con una tabla de partidas individuales de cotización.Cada cotización tiene varias líneas de pedido y todas ellas también deben copiarse.Por lo tanto, necesito recorrer cada línea de pedido y crear un duplicado también.

'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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top