Hur fungerar detta, ska inte RowFilter returnera de filtrerade raderna, verkar som om min nya dataView fortfarande refererar till m_dataset.Tables["BinderStructures"]. Vad har jag missat? Rowfilter skall som du säger filtrera efter det du anger... men hur gör du om du Inte vill dataBinda utan vill retunera en dataTabel med städer. "men hur gör du om du Inte vill dataBinda utan vill retunera en dataTabel med städer. Det är nog jag som förklarar dåligt. aaaa ok... jag har all data i mitt dataset. Marcus, Ok, problemet är att jag har två db tabeller, Binders, BinderStructures . Använd hierarkisk data istället: Lyckades int med hierarkisk data då tabellen som håller noderna är platt. eh platt? har du ingen referens mellan tabellerna? nej det har jag inte...har en tabell med struktur föräldrar och sedan en tabell med barn och barnbarn. aha, då ser jag... men det där kan du absolut lösa med hjälp av relationer. Problem med rowfilter.
m_dataset.Tables["BinderStructures"] - innehåller 46 rader.
Efter rowfilter bör dataView.tables.rows.count innehålla 36 rader, men jag får 46??
foreach(DataRow dr in m_dataset.Tables["Binders"].Rows)
{
DataView dataView = new DataView(m_dataset.Tables["BinderStructures"],
"Binder_cid=" + dr["cid"] ,"parent_cid,sortorder",DataViewRowState.CurrentRows);
} Sv: Problem med rowfilter.
ex:
<code>
private void MakeDataView()
{
DataView dv = new DataView();
dv.Table = DataSet1.Tables["Suppliers"];
dv.AllowDelete = true;
dv.AllowEdit = true;
dv.AllowNew = true;
dv.RowFilter = "City = 'Berlin'";
dv.RowStateFilter = DataViewRowState.ModifiedCurrent;
dv.Sort = "CompanyName DESC";
// Simple bind to a TextBox control
Text1.DataBindings.Add("Text", dv, "CompanyName");
}
</code>
Där jag vill ha alla städer som är Berlin.
Mvh JohanSv:Problem med rowfilter.
I mitt fall retuneras alla rader, kan det bero på att jag använder fel RowStateFilterSv: Problem med rowfilter.
"
Varför vill jag det om jag inte skall visa datan?
Men annars hade jag nog gjort filtreringen mot databasen med en gång med en WHERE sats.
Mvh JohanSv:Problem med rowfilter.
Det jag vill göra är följande.
Har ett dataset innehållandes två dataTables.
TablleNamnen : Binders och BinderStructures
Jag loopar igennom Binders och vill med ett id få ut alla matchande rader från BinderStructures.
Problemt är att jag hela tiden får ut alla.Sv: Problem med rowfilter.
hum...
Tja hur vill du ha ut dem? i en ny DataTable? Om du loopar genom första. Tar dess ID och sedan letar upp detta id i din andra tabel o tar ut detta objekt så skall det ju inte vara några problem.
pseudo kod.
for alla rader
get Id from DataSet1
get row from DataSet2 where Id column = Id
next
Fast undrar om det inte är bättre att få ut alla IDn och göra en ny fråga mot med med IN expression?
Mvh JohanSv:Problem med rowfilter.
foreach(DataRow dr in m_dataset.Tables["Binders"].Rows)
{
DataView dataView = new DataView(m_dataset.Tables["BinderStructures"],
"Binder_cid=" + dr["cid"] ,"parent_cid,sortorder",DataViewRowState.CurrentRows);
}
jag vill få ut mitt resultat i min dataView eller en dataTable...det resultat jag får är alla rader...vill ju bara ha dem som har binder_cid = dr["cid"]Sv: Problem med rowfilter.
Har inte läst hela tråden, bara ditt sista inlägg. Men du skall inte loopa igenom alla dina rader och hela tiden bygga din vy. Bort med din loop och bygg din vy <b>en</b> gång. Du sätter ett filter på din vy som begränsar vilka rader som kommer synas när du binder vyn.Sv:Problem med rowfilter.
Binders är en förälder tabell till BinderStructures.
BinderStructures är en tabell som innehåller alla noder i en struktur.
Denna har då bla id och parent_id.
Det jag vill göra är att plocka ut alla från Binders och dess barn och barnbarn.
Har min data i ett dataSet, tänkte loopa igenom Binders (Förälder) dataTable i mitt dataset och hämta till hörande barn. Det är detta resultat som är intressant, vill få tillbaka en dataview eller dataTable så jag rekursivt kan hitta barnbarnen.
Nod1- Binders
Nod3 - BinderStructures
Nod2- Binders
Nod4 - BinderStructures
Nod9 - BinderStructures
Hade inte tänkt dataBinda, vet inte hur då jag har den db struktur som jag beskriver.
Sv: Problem med rowfilter.
http://www.cshrp.net/content.aspx?showID=613
Det löser ditt problem bättre. Dock tror jag det uppstått en förvirring här. Tabellen som vyn byger på ändras aldrig. Det är bara vyn som presenterar data på oilka sätt.
Det innebär att efter du satt ditt filter så får du titta på vyn, inte vyns table egenskap, för då får du bara tilldelat dig tillbaka alla rader som finns i grundtabellen.Sv:Problem med rowfilter.
Tack!!Sv: Problem med rowfilter.
ngn form av relation har de väl?Sv:Problem med rowfilter.
vet inte om jag förklarar rätt men typ så här..
Binder --> id, description
BinderStructrues --> id, binderID, parentID, description.
Binder och BinderStructrues har ju en relation men jag har inte satt någon relation på mitt dataset.
I BinderStructrues finns träd för varje binder id.
Nod1- Binders
Nod3 - BinderStructures
Nod2- Binders
Nod4 - BinderStructures
Nod9 - BinderStructures
Nod10 - BinderStructures
Nod3- Binders
OSV...Sv: Problem med rowfilter.
Du kan sätta en relation på samma tabell. ex BinderStructiurs så kan parent column vara binderID och ChildColumn kan vara parentID. Behöver inte vara olika tabeller.