webForumDet fria alternativet

DataGrid problem

.NETur .NET

2 svar · 290 visningar · startad av Gimbo

Medlem sedan dec. 20001 626 inlägg
Frågan#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?

Medlem 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

Medlem 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());
            }
		}
138 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)