.net loops dataview

.net - Looping a través de filas en un DataView



loops (3)

El objeto DataView no tiene una propiedad Rows como DataTable .

¿Cómo recorro las filas de un DataView?


// Puedes convertir DataView en Table. usando 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); } } }

// O puede usar

// 2.

dtForms.DefaultView.RowFilter = "ParentFormID=''" + drGroup["FormId"].ToString() + "''"; DataTable DTFormFilter = dtForms.DefaultView.ToTable(); foreach (DataRow drFormFilter in DTFormFilter.Rows) { //Your logic goes here }


El objeto DataView en sí mismo se utiliza para recorrer las filas de DataView.

Las filas de DataView están representadas por el objeto DataRowView . La propiedad DataRowView.Row proporciona acceso a la fila de DataTable original.

DO#

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


Prefiero hacerlo de una manera más directa. No tiene las Filas, pero todavía tiene la matriz de filas.

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();