i having bit of issue dataview.sort. when binded pageddatasource lose sort order?
by default data sorted date in descending order.
here code
protected void page_load(object sender, eventargs e) { if (!ispostback) { viewstate["column"] = "orderdate"; viewstate["order"] = "asc"; populateproductclass(); populateproduct(); } populateorderlist(); } private void populateorderlist() { datetime d; datetime d2; customerinfo ki = customerinfoprovider.getcustomerinfobyuserid(cooneenhelper.getuserimpersonisationid()); int nkustomerid = ki.customerid; datatable dts = new datatable(); dts.columns.add("orderdate", typeof(string)); dts.columns.add("ordernumber", typeof(string)); dts.columns.add("orderitemskuname", typeof(string)); dts.columns.add("skunumber", typeof(string)); dts.columns.add("orderitemstatus", typeof(string)); dts.columns.add("orderitemunitcount", typeof(string)); querydataparameters qdp = new querydataparameters(); qdp.add("@customerid", nkustomerid); if (drpproductclass.hascontrols()) { if (drpproductclass.selectedvalue.tostring() != "0" || drpproductclass.selectedvalue.tostring() == null) { qdp.add("@orderitemwrclass", drpproductclass.selecteditem.tostring()); } if (drpproduct.selectedvalue.tostring() != "0") { qdp.add("@orderitemskuid", drpproduct.selectedvalue.tostring()); } } if (txtstartdate.text != "") { d = datetime.parse(txtstartdate.text); qdp.add("@orderitemdatefrom", d.tostring("yyyy-mm-dd")); } if (txtenddate.text != "") { d2 = datetime.parse(txtenddate.text); qdp.add("@orderitemdateto", d2.tostring("yyyy-mm-dd")); } dataset ds = gc.executequery("cn_getorderitembycustid", qdp, querytypeenum.storedprocedure, true); foreach (datarow dr in ds.tables[0].rows) { datarow drnew = dts.newrow(); drnew["orderdate"] = validationhelper.getdatetime(dr["orderdate"], datetime.now).toshortdatestring(); drnew["ordernumber"] = dr["ordernumber"].tostring(); drnew["orderitemskuname"] = dr["orderitemskuname"].tostring(); drnew["skunumber"] = dr["skunumber"].tostring(); drnew["orderitemstatus"] = dr["orderitemstatus"].tostring(); drnew["orderitemunitcount"] = dr["orderitemunitcount"].tostring(); dts.rows.add(drnew); } //clear textbox litresults.text = string.empty; if (dts.rows.count == 1) litresults.text = "" + dts.rows.count.tostring() + " order items"; else litresults.text = "" + dts.rows.count.tostring() + " order items"; pageddatasource pds = new pageddatasource(); dataview view = dts.defaultview; view.sort = viewstate["column"].tostring() + " " + viewstate["order"].tostring(); pds.datasource = view; //allow paging, set page size, , current page pds.allowpaging = true; pds.pagesize = perpage; pds.currentpageindex = currentpage; //show # of current page in label if (pds.pagecount > 1) litresults.text += " - showing page " + (currentpage + 1).tostring() + " of " + pds.pagecount.tostring(); //disable prev/next buttons on first/last pages btnprev.enabled = !pds.isfirstpage; btnnext.enabled = !pds.islastpage; rprorders.visible = true; rprorders.datasource = pds; rprorders.databind(); }
when data returned database datatable dts
sorting fine. when sorted using dataview seems lose sorting order?
pageddatasource pds = new pageddatasource(); dataview view = dts.defaultview; view.sort = viewstate["column"].tostring() + " " + viewstate["order"].tostring(); //sorting order lost in view pds.datasource = view;
i not sure how?
Comments
Post a Comment