Вопрос
Как узнать значения полей текущей записи в DataTable?
Ответ
Я пользуюсь такими функциями:
Public Function GetCurrentRow(ByVal Grid As DataGrid) As DataRow
' Получаем связного и приводим его к его же типу
Dim cm As CurrencyManager = CType(Grid.BindingContext(Grid.DataSource, Grid.DataMember), CurrencyManager)
' Получаем перекрышку текущего ряда
Dim drv As DataRowView = CType(cm.Current, DataRowView)
' Наконец, из перекрышки высасываем САМ РЯД
Return drv.Row
End Function
Public Function GetRow(ByVal Grid As DataGrid, ByVal ID As Integer) As DataRow
' Получаем связного и приводим его к его же типу
Dim cm As CurrencyManager = CType(Grid.BindingContext(Grid.DataSource, Grid.DataMember), CurrencyManager)
' Получаем вид данных нашего грида
Dim dv As DataView = CType(cm.List, DataView)
' Из него берем перекрытое представление ряда по ПЕРЕКРЫТОМУ ЖЕ номеру
Dim drv As DataRowView = dv(ID)
' Наконец, из перекрышки высасываем САМ РЯД
Return drv.Row
End Function
Функция GetCurrentRow возвращает текущую запись Grid'а, указанного в параметре. А функция GetRow возвращает запись из грида по номеру записи.
Copyright 2000-2004 Сообщество Чайников
Контактная информация