Кто-нибудь знает, как это сделать. Я googled, но это старое учебное видео на 2010 год и, похоже, не соответствует надлежащим инструкциям о том, как это сделать. Я использую 2012. Я хотел бы добавить кнопку копирования, а затем щелкнуть по записи, щелкнуть копию и добавить ее в новую запись со значениями, отмеченными по умолчанию от выбранного вами.копирование одной записи в другую в lightwitch
ответ
В моем приложении я отслеживаю продажи цитат. У меня есть возможность делать и хранить ревизии котировок. Я делаю это, нажав кнопку, чтобы сделать новую ревизию, которая начинается с копирования предыдущей версии.
Вы не указали, какой язык вы использовали. Я использую 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
Огромное спасибо. Просто интересно, как мне копировать связанный с этим продукт в колодец, например, который имеет отношение многих к многим. Хорошо -> wellsalesjunction -> таблица продаж. где соединение включает в себя goodid, а salesid и таблицу продаж включают id, имя продажи, фамилию и т. д. ... я использую C# btw – Sirus
@Sirus Я не уверен, что полностью понимаю отношения в таблице. Возможно, лучше задать другой вопрос и детализировать таблицы немного больше. Либо с изображениями ваших таблиц в Lightswitch, либо в операторах 'create' T-SQL. –