UFO ET IT

DataView에서 행 반복

ufoet 2021. 1. 10. 17:50
반응형

DataView에서 행 반복


DataView개체가없는 Rows등의 속성을 DataTable.

DataView의 행을 어떻게 반복합니까?


DataView 개체 자체는 DataView 행을 반복하는 데 사용됩니다.

DataView 행은 DataRowView 개체 로 표시됩니다 . DataRowView.Row의 속성은 원래 DataTable의 행에 대한 액세스를 제공합니다.

씨#

foreach (DataRowView rowView in dataView)
{
    DataRow row = rowView.Row;
    // Do something //
}

VB.NET

For Each rowView As DataRowView in dataView
    Dim row As DataRow = rowView.Row
    ' Do something '
Next

// DataView를 Table로 변환 할 수 있습니다. DataView.ToTable (); 사용

foreach (DataRow drGroup in dtGroups.Rows)
{
    dtForms.DefaultView.RowFilter = "ParentFormID='" + drGroup["FormId"].ToString() + "'";

    if (dtForms.DefaultView.Count > 0)
    {
        foreach (DataRow drForm in dtForms.DefaultView.ToTable().Rows)
        {
            drNew = dtNew.NewRow();

            drNew["FormId"] = drForm["FormId"];
            drNew["FormCaption"] = drForm["FormCaption"];
            drNew["GroupName"] = drGroup["GroupName"];
            dtNew.Rows.Add(drNew);
        }
    }
}

// 또는 사용할 수 있습니다

// 2.

dtForms.DefaultView.RowFilter = "ParentFormID='" + drGroup["FormId"].ToString() + "'";

DataTable DTFormFilter = dtForms.DefaultView.ToTable();

foreach (DataRow drFormFilter in DTFormFilter.Rows)
{ 
                            //Your logic goes here
}

나는 더 직접적인 방식으로하는 것을 선호합니다. 행이 없지만 여전히 행 배열이 있습니다.

tblCrm.DefaultView.RowFilter = "customertype = 'new'";

qtytotal = 0;
for (int i = 0; i < tblCrm.DefaultView.Count; i++)
{
    result = double.TryParse(tblCrm.DefaultView[i]["qty"].ToString(), out num);
    if (result == false) num = 0;
    qtytotal = qtytotal + num;
}

labQty.Text = qtytotal.ToString();

DefaultView다음 코드로 반복 할 수 있습니다 Indexer.

DataTable dt = new DataTable();
// add some rows to your table
// ...
dt.DefaultView.Sort = "OneColumnName ASC"; // For example
for (int i = 0; i < dt.Rows.Count; i++)
{
    DataRow oRow = dt.DefaultView[i].Row;
    // Do your stuff with oRow
    // ...
}

참조 URL : https://stackoverflow.com/questions/1427840/looping-through-rows-in-a-dataview

반응형