Копирование одной записи в другую с помощью светового переключателя

Кто-нибудь знает как это сделать. Я гуглил это, но это старое учебное видео на 2010 год и, похоже, не соответствует должным инструкциям, как это сделать. Я использую 2012 год. Я хотел бы добавить кнопку копирования, а затем нажать на запись, нажать кнопку "Копировать" и попросить добавить новую запись со значениями по умолчанию от выбранной вами.

1 ответ

Решение

В моем приложении я отслеживаю котировки продаж. У меня есть возможность вносить и сохранять ревизии цитат. Я делаю это, имея кнопку для создания новой ревизии, которая начинается с копирования предыдущей ревизии.

Вы не упомянули, какой язык вы используете. Я использую 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
Другие вопросы по тегам