Как использовать "строго типизированную таблицу данных" (или "строку") в выделенном коде 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;
    }

Теперь просто привяжите к вашему представлению, и если вы добавите строку или обновите ее, представление также обновится.

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