Med kunstig intelligens skaber HP’s nye OmniBook X 14 en unik og skræddersyet brugeroplevelse målrettet dem, der ønsker høj ydeevne og intelligente funktioner
Hejsa historyDataView.Sort = "TIMESTAMP DESC"; Det har jeg prøvet uden held...
Jeg er ikke helt med på hvad du mener med:
" er du sikker på du bruger historyDataView som source og ikke dataset.Tables[0] eller noget? "
Jeg henter data fra db og indsætter i dataviewet: DataView historyDataView = dataset.Tables[0].DefaultView;
" GridView.Columns[0].SortExpression = ""; " Det er IKKE et GridView - blot en tekst i et tekstfelt: LabelLatestSPReason.Text = dataview[dataview.Find(actid)]["TIMESTAMP"].ToString(); LabelLatestSPReason.Text = LabelLatestSPReason.Text + "<br />" + dataview[dataview.Find(actid)]["SP_Reason"].ToString(); LabelSerialNo.Text = dataview[dataview.Find(actid)]["SerialNumber"].ToString(); LabelWorkFlow.Text = dataview[dataview.Find(actid)]["WorkFlowDescription"].ToString();
er det asp.net eller C# windows forms du har gang i?
Jeg kan slet ikke se du bruger historyDataView i dine tekstfelter og hvor for du actid fra. Du bliver nødt til at poste noget lidt mere sammenhængende kode.
cars10 -> Jeg beklager jeg ikke har udtrykt mig klart nok... Der er C# asp .net jeg har gang i ;) Jeg vil prøve at komme med noget bedre forklaring og sammenhængende kode. Min mening ville være at undgå for mange forespørgsler til databasen, derfor ville jeg læse udtrækket ind i et dataview og udfra dataviewet behandle data.
Det tekstfelt (og ikke datagridview, som jeg er bevidst om man normalt putter lister ind i) er en <asp:TextBox TextMode="MultiLine"></asp:TextBox>
Her er så hele funktionen. "actid" er aktivitetsid for den enkelte sag.
Det er historyDataView.Sort = "TIMESTAMP", som jeg har udkommenteret og som jeg gerne ville have til at virke. Grunden til jeg ikke bare laver en "order by" i sql'en er at jeg har lært at det er bedst at bruge ressourcerne på klienten og ikke på sql-serveren. Det er derfor ikke strengt nødvendigt, men jeg vil gerne gøre koden så rigtig og effektiv som muligt ;)
Det giver lidt mere mening når man kan se sammenhænget :-)
Første ting. Den kode som du skriver i din codebehind bliver udført på serveren og ikke på klienten, så din server bliver ikke mindre belastet af at sortere i viewet frem for på SQL serveren.
Anden ting. prøv at bruge historyDataView.Sort = "TIMESTAMP DESC"; og når du så henter data fra dit view brug historyDataView[i][0].ToString(); i stedet for historyDataView.Table.Rows[i][0].ToString(); når du henter data fra dit view
--> Første ting Jeg troede at dataviewet svarede til en variabel alla' int a, der ligger sig i rammen på klienten... måske der er noget jeg har misforstået.
Anden ting: Dit forslag har jeg prøvet uden held, og jeg forstår det simpelthen ikke. Som en sidste ting vil jeg give dig min Stored Procedure (men jeg tvivler selv på at det skulle have noget at sige:
SELECT FSCRejectionReason , SPRectionReason , [TIMESTAMP] , UserID AS Useridentification , HistoryType = CASE WHEN HistoryType = 'INSERT' THEN 'Fujitsu'
WHEN HistoryType = 'UPDATE' THEN ( SELECT FullName FROM Users WHERE UserID = fscRevisedActivities_History.UserID ) END FROM fscRevisedActivities_History WHERE ActivityID = @ActivityID AND HistoryType IN ('UPDATE', 'INSERT') END GO
Men hvis du har ret i anden ting vil en "order by" være fint nok...?
Undskyld det lange fravær. Jeg havde rent glemt denne tråd. Problemet er blevet løst med en "Order By" i sql'en. Jeg takker mange gange for jeres medvirken til at løse mit problem :-)
Synes godt om
Ny brugerNybegynder
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.