webForumDet fria alternativet

DataGrid problem

2 svar · 290 visningar · startad av Gimbo

GimboMedlem sedan dec. 20001 626 inlägg
#1

Tja,

har en dataGrid som stör mig riktigt duktigt, har gjort så att man vläjer hur många poster som skall visas på sidan och därefter så page'ar den beroende på d, men när jag nu vill sortera posterna efter namn så gör den det, men när jag sedan klickar på sidan låt oss säga 4 så pajjar sorteringen, den verkar inte följa med till resterande sidor, ngn som har ngn som helst aning om vad problemet kan vara? skulle det funka om jag ändra en datagriden till en gridview?

freguzMedlem sedan feb. 2005280 inlägg
#2

Hur ser koden ut för Paging eventet? Du måste nog göra sort funktionen även där. Underlättar om man kan få se lite kod :bire

GimboMedlem sedan dec. 20001 626 inlägg
#3
dgr.AllowSorting = true;
dgr.AutoGenerateColumns = false;
dgr.SortCommand +=new DataGridSortCommandEventHandler(this.dgr_SortCommand);

private void dgr_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
		{
			try
			{
				string sColToSort = (string)ViewState["ColToSort"];

                //get SortType from IssueList
                string sortType = "";
                if (viewDynamic)
                {
                    SPListItemCollection issueListItems;
                    SPWeb web = site.OpenWeb(m_systemListLoc);
                    issueListItems = web.Lists[m_issueList].Items;
                    slIssueList = generalFunctions.GetColumnsForIssueList(issueListItems);

                    foreach (DictionaryEntry d in slIssueList)
                    {
                        IssueList issue = ((IssueList)d.Value);
                        if (issue.SortType != null)
                        {
                            if (e.SortExpression == issue.DefineId)
                                sortType = issue.SortType;
                        }
                        else
                            sortType = "Alphanumerical";
                    }
                }

                if (sortType == "OrderId" || sortType == "Numerical")
                {
                    //Determine sortorder
                    string sOrder = "";
                    string ascDesc = "";
                    if (sColToSort != null)
                    {
                        if (sColToSort.IndexOf("ASC") > -1)
                        {
                            sOrder = e.SortExpression + "DESC";
                            ascDesc = "DESC";
                        }
                        else
                        {
                            sOrder = e.SortExpression + "ASC";
                            ascDesc = "ASC";
                        }
                    }
                    else
                    {
                        sOrder = e.SortExpression + "ASC";
                        ascDesc = "ASC";
                    }

                    //Save latest sortorder
                    ViewState["ColToSort"] = sOrder;

                    //Special sortalgoritm			
                    dgr.DataSource = CommonFunc.SortOrderID.SortOnOrderid(sOrder, dv);

                    dgr.DataBind();
                }
                else
                {
                    // Check which state of sortorder the current column is in.
                    if (sColToSort != null)
                    {
                        if (sColToSort.IndexOf("ASC") > -1)//state of sortorder is ASC
                        {
                            sColToSort = e.SortExpression + " DESC";
                        }
                        else if (sColToSort.IndexOf("DESC") > -1) //state of sortorder is DESC
                            sColToSort = e.SortExpression + " ASC";

                        else sColToSort = e.SortExpression + " DESC";

                        dv.Sort = sColToSort;
                    }
                    else
                        dv.Sort = e.SortExpression;

                    // Save latest ColToSort
                    ViewState["ColToSort"] = dv.Sort;

                    dgr.DataSource = dv;
                    dgr.DataBind();
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.ToString());
            }
		}
139 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)