Avatar billede stubid_cat Nybegynder
08. marts 2006 - 10:10 Der er 2 kommentarer og
1 løsning

Vise børn fra et dataset i et datagrid

Jeg har læst 2 tabeller ind i et dataset fra et xml dokument.
Jeg skal vise børnene til en parent i et datagrid, men jeg kan ikke rigtigt få noget data ud jeg kan databinde til et datagrid.

jeg kan hente de enkelde børn ud via:

foreach(DataRow dr in reportsDS.Tables[1].Rows)
{
  DataRow parentRow = dr.GetParentRow("reportGroup_report");
  if (parentRow["reportGroupID"].ToString() == groupID)
  {
      Response.Write(dr[1]);
                   
  }
}

men det kan jeg jo ikke binde til et datagrid. Jeg har ogsp forsøgt at ligge de enkelte rækker ind i et nyt DataTable men det kan ikke lade sig gøre fordi rækken allerede tilhøre en anden tabel.

Er der nogen der ved hvordan man henter børnene for en specifik parent ud at et dataset og binder dem til et datagrid.
Avatar billede stubid_cat Nybegynder
08. marts 2006 - 10:57 #1
har selv fundet en løsning selv om jeg ikke syntes at den er særlig pæn:

DataSet reportsDS = new DataSet();
reportsDS.ReadXml(MapPath("../TempData.xml"));

  int tableCount = reportsDS.Tables[1].Rows.Count;
  for(int i = 0; i < tableCount; i++)
  {
    DataRow parentRow = reportsDS.Tables[1].Rows[i].GetParentRow("reportGroup_report");
    if (parentRow["reportGroupID"].ToString() != groupID)
    {
    reportsDS.Tables[1].Rows.Remove(reportsDS.Tables[1].Rows[i]);
    tableCount--;
    i--;
    }
}
reportListGrid.DataSource = reportsDS.Tables[1];
reportListGrid.DataBind();

Så hvis der er nogen der jar en bedre løsning så er pointsne stadivæk "up for grabs"
Avatar billede stubid_cat Nybegynder
08. marts 2006 - 16:38 #2
Er der slet ikke nogen der tør komme med et bud på hvordan jeg kan gøre dette på en pænere måde?
Avatar billede stubid_cat Nybegynder
09. marts 2006 - 10:17 #3
Nå så fandt jeg selv en ordenlig løsning, syntes nok at der skulle være en ordenlig måde at gøre det på. For en god ordens skyld vil jeg lige skrive løsningen her da det ser ud til at der ikke er andre der kender den.

DataSet reportsDS = new DataSet();
reportsDS.ReadXml(MapPath("../TempData.xml"));

DataView reportsDV = rreportsDS.Tables[0].DefaultView;
reportsDV.Sort = "reportGroupID";

DataRowView[] parentRowView = reportsDV.FindRows(groupID);

DataView childDataView = parentRowView[0].CreateChildView("reportGroup_report");

reportListGrid.DataSource = childDataView;
reportListGrid.DataBind();

Håber der kan hjælpe andre.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester