Hur gör jag för att fylla en meny med data från ett dataset. Marcus, Det är en meny från Infragistics. Skapar en dataview där jag plockar ut alla topp noder. Löste det med följande kod:dataset och platt datastruktur
kan jag skapa relationer då jag har följande datastruktur. Eller ska jag göra rekursiv loop?
select * from Nodes_Table
Nodes_Table
id
parent_id
name
sortorderSv: dataset och platt datastruktur
Luta dig tillbaka i din stol och funderade på följande "Beror inte det helt och hållet på vilken typ av meny du använder och hur du har byggt upp den?" .. när du har svaret på det så återkom med kompletterande uppgifter så det finns en mänskligchans att ge dig ett svar =)Sv: dataset och platt datastruktur
Min tanke var att hämta all data 1 gång från databasen.
Trixa med datan i mitt dataset, för att slippa belasta db.
Det är datasetet som är mitt problem.
Vad mer behöver du veta?Sv: dataset och platt datastruktur
Försöker sedan rekursivt att plocka ut barn, men lyckas inte med dvChild.Count.
DataView dataView = new DataView(dataset.Tables[0],"parent_cid IS null","SortOrder",DataViewRowState.CurrentRows);
GetChildRowsFromDataView( dataView );
private void GetChildRowsFromDataView( DataView dv )
{
foreach( DataRowView dr in dv )
{
string test = dr["description1"].ToString();
int cid = (int)dr["cid"];
DataView dvChild = new DataView(dataset.Tables[0],"parent_cid=" + cid,"SortOrder",DataViewRowState.None);
if(dvChild.Count > 0)
{
//anropa rekursivt
}
}
}Sv: dataset och platt datastruktur
foreach( DataRowView dr in dv )
{
string test = dr["description1"].ToString();
int cid = (int)dr["cid"];
DataView dvChild = new DataView(dataset.Tables[0],"parent_cid =" + cid,"SortOrder",DataViewRowState.CurrentRows);
if(dvChild.Count >0 )
{
GetChildRowsFromDataView(dvChild);
}
dvChild.Dispose();
}