60

オブジェクトにはのようなプロパティDataViewはありません。RowsDataTable

DataView の行をループするにはどうすればよいですか?

4

4 に答える 4

135

DataView オブジェクト自体は、DataView 行をループするために使用されます。

DataView 行は、DataRowViewオブジェクトによって表されます。DataRowView.Rowプロパティは、元の DataTable 行へのアクセスを提供します。

C#

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
于 2009-09-15T15:21:45.793 に答える
2

//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
}
于 2013-03-08T18:21:32.990 に答える