webForumDet fria alternativet

Sortera en datatabell i ett dataset?

.NETur .NET

7 svar · 660 visningar · startad av Lukaspojken

Medlem sedan maj 20011 312 inlägg
Frågan#1

Jag hämtar upp ett cachat dataset (=DatasetX) och skulle behöva göra en sortering en av tabellerna i dataset:et men jag lyckas inte få till det. Är det inte så här man gör?

DataViewManager ViewManager = new DataViewManager(DataSetX);

if (sortExpression.Length > 0)
{
    ViewManager.DataViewSettings[0].Sort = sortExpression;    
}

GridViewX.DataSource = ViewManager.DataSet;
GridViewX.DataBind();
Medlem sedan feb. 20013 023 inlägg
#2

Måste du ha dataviewmanager?


DataView View = new DataView(DataSetX.tables[0]);

if (sortExpression.Length > 0)
{
    View.Sort = sortExpression;    
}

GridViewX.DataSource = View;
GridViewX.DataBind();
Medlem sedan maj 20011 312 inlägg
#3

I dit kodexempel så sorterar du en datatabell och lägger in den i gridview:n. Det jag behöver göra är att sortera en datatabell i ett dataset och därefter skicka in datasetet in i gridview:n. Anledningen för att jag måste skicka in datasetet är för att jag har flera tabeller i den som används i gridview:n.

Medlem sedan dec. 19996 522 inlägg
#4

Använd select
http://www.developerfusion.co.uk/show/4703/2/

Medlem sedan maj 20011 312 inlägg
#5

Hur menar du att jag ska använda mig av select:en? För jag måste få in ett dataset:et med flera tabeller in i gridview:en.

Medlem sedan dec. 19996 522 inlägg
#6

Kan du inte använda dig av System.Data.DataView.Sort så måste du gå den fula vägen med Select, är jag nästan helt säker på, och sortera dina tabeller en efter en. Jobbigt med Select eftersom du får tillbaks en DataRow[]

Du har en rätt bra länk ang sortering och filtering (med DataViewManager som exempel) i ado.net här,råkade klistra in fel innan
http://www.akadia.com/services/dotnet_filter_sort.html

Medlem sedan maj 20011 312 inlägg
#7

-> erka
Så här ser strukturen ut: DatasetX innehåller två tabeller datatabell Y och datatabell X. Det jag behöver göra är att sortera om datatabell Y.

Om jag förstår dig så menar du att jag ska använda select på databell Y. Det jag får ut av select:en är en kollektion av rader. För att få in den nya sorteringen i datatabell Y så måste jag först ta bort ta bort de gamla raderna och därefter loopa igenom sorteringskollektionen och lägga till dessa rader. Känns inte som en snygg lösning :)

Finns det verkligen ingen bättre lösning?

Medlem sedan dec. 19996 522 inlägg
#8

Nahh inte vad jag kan komma på, sortera datatables är störande jobbigt om man har flera och inte kan använda DataView och dess sort genom att skicka in datatable dit. Alternativt andvända DataTable.DefaultView som en DataView. Lite omvänt kanske, skriv en wrapper som sorterar rätt DataTable och returnerar ett DataSet.

128 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)