Как использовать "строго типизированную таблицу данных" (или "строку") в выделенном коде WebForms?
Наше приложение asp.net WebForms использует таблицы-адаптеры для "строго типизированных таблиц данных" и строк данных. В коде, который я обнаружил, я не могу использовать возвращаемое значение непосредственно из экземпляра класса BLL (например, нашего "Main_TblAdap.CostDataTable"), как при ссылке на строго типизированные строки данных и столбцы / поля внутри.
Как правильно использовать строго типизированную таблицу данных или строку данных в коде событий и методов?
Кроме того, мы хотим иметь возможность ссылаться на конкретную строку данных или сортировать / фильтровать таблицу данных.
Хороший пример кодирования был бы очень полезен, показывая лучший способ (1) получить из строго типизированной таблицы данных для ссылки на значения в определенной строке данных из таблицы данных и (2) как отсортировать / отфильтровать строго типизированная таблица данных.
1 ответ
Сначала создайте DataView из таблицы. Вы можете либо настроить представление при инициализации, либо вызвать get default.
DataView dv = yourTable.DefaultView;
Или продолжите и отфильтруйте представление из таблицы, когда создадите указатель ссылки следующим образом:
DataView custDV = new DataView(YourTable[yourTableName],
"VehicleID = 'xxx'", // Row filter
"VehicleID", // Sort
DataViewRowState.CurrentRows);
Теперь вы можете сортировать просмотр и фильтровать по состоянию строки
dv.Sort();
view.RowStateFilter = DataViewRowState.Added |
DataViewRowState.ModifiedCurrent;
РЯДЫ. Вы можете взаимодействовать с DataRowView IEnumerable в DataView.
foreach (DataRowView rowView in thisDataView)
{
// your code here
}
ИЛИ ЖЕ
foreach(DataRow r in dt.Rows)
{
// your code here
}
Чтобы найти строки в таблице, попробуйте:
var result = dt.AsEnumerable().Select(r => r["Id"] = 4);
if(result !=null)
{
int x = 0;
}
Теперь просто привяжите к вашему представлению, и если вы добавите строку или обновите ее, представление также обновится.