c# - How to preserve order in Gridview -
in program (asp.net, c#) using gridview show data. gets data following query.
select * nametable nameid in (4,3,1,22,15,8,9,5,7) but problem gridview showing data in ascending sort order of nameid (1,3,4,5,7,8,9,15,22). dont want data sorted, should show way mentioned in query (4,3,1,22,15,8,9,5,7)
here code
private void loadgridview() { query = "select * nametable nameid in (4,3,1,22,15,8,9,5,7)" dataset ds = sqlhelper.executedataset(commonsettings.constring, commandtype.text, query); gridview1.datasource = ds; gridview1.databind(); }
that pretty difficult code you've provided. doesn't have gridview, it's how data returned sql. sql won't order results way. you'd have specify explicit case in order by this:
query = "select * nametable nameid in (4,3,1,22,15,8,9,5,7) " + "order case nameid when 4 0 " + "when 3 1 " + "when 1 2 " + "when 22 3 " + "when 15 4 " + "when 8 5 " + "when 9 6 " + "when 5 7 " + "when 7 8 end"; obviously very cumbersome. suggest try sorting column instead.
Comments
Post a Comment