---
title: "DataGrid problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/163678-datagrid-problem"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Gimbo"
published: "2007-08-21T08:47:13.000Z"
updated: "2007-08-21T10:58:49.000Z"
replies: 2
views: 295
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/163678-datagrid-problem"
---

# DataGrid problem

## #1 — Gimbo, 2007-08-21T08:47Z

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?

Permalänk: https://www.webforum.nu/p/163678

## #2 — freguz, 2007-08-21T09:38Z

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

Permalänk: https://www.webforum.nu/p/2018604

## #3 — Gimbo, 2007-08-21T10:58Z

```
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());
            }
		}
```

Permalänk: https://www.webforum.nu/p/2018622

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/163678-datagrid-problem
