Установите RowState строки DataTable в удаленное

У меня есть UltraGrid в моем проекте, и у меня есть функция обновления в форме для обновления данных в базе данных, где данные совпадают.

Данные в сетке хранятся в виде DataTable, Если строка существующих данных удаляется из UltraGridЯ хочу иметь возможность установить RowState из этого ряда в DataTable в 'RowState.Deleted, so that in the Update function I can check theRowState`, и если это удаленная строка, то удалите ее, в противном случае обновите данные.

Как я могу сделать это? Пока у меня есть код ниже, но количество возвращаемых строк равно 1 (или текущему количеству строк в сетке), а не 2 (число, которое было до того, как я удалил одну строку).

Как и где в коде я должен установить RowState удаленной строки, которая будет RowState.Deleted? Есть ли альтернативный способ сделать это с помощью UltraGrid?

dsProducts.Tables.Add(commDt.Copy) -- commDt is the DataTable linked to the UltraGrid
tr = con.BeginTransaction(

  For Each dr As DataRow In dsProducts.Tables(0).Rows
    If dr.RowState = DataRowState.Deleted Then
     Try

2 ответа

Решение

Решил это.

  • Объявить DataTable на вершине класса

  • На BeforeRowsUpdate метод, вставьте новую строку в DataTable, которые являются значениями удаляемой строки.

  • При желании, включите окно подтверждения, чтобы убедиться, что они хотят удалить строку. Если они отменяют удаление, удалите строку из DataTable,

  • это DataTable затем можно использовать для удаления строк в UPDATE запрос, а сетка DataSource может справиться с UPSERTS

Сетка вызовет пометить строку как удаленную (установив RowState), и если вы используете TableAdapter, то вы можете просто вызвать Update на адаптере таблицы, передав DataTable в TableAdapter, и он выполнит обновления в базе данных. Например:

ultraGrid1.UpdateData()
Me.dbRowsTableAdapter.Update(Me.testDataSet)

Если вам нужно вручную обрабатывать обновления и вы хотите получить удаленные строки, вы можете вызвать Select для DataTable, передавая DataViewRowState.Deleted для третьего параметра.

Другие вопросы по тегам